<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge,IE=9,chrome=1"><meta name="generator" content="MATLAB R2018b"><title>Generalized Geometry Projection</title><style type="text/css">.rtcContent { padding: 30px; } .S0 { margin: 3px 10px 5px 4px; padding: 0px; line-height: 28.7999992370605px; min-height: 0px; white-space: pre-wrap; color: rgb(213, 80, 0); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 24px; font-weight: normal; text-align: left;  }
.S1 { margin: 2px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(0, 0, 0); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: normal; text-align: left;  }
.S2 { margin: 20px 10px 5px 4px; padding: 0px; line-height: 20px; min-height: 0px; white-space: pre-wrap; color: rgb(60, 60, 60); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 20px; font-weight: bold; text-align: left;  }
.CodeBlock { background-color: #F7F7F7; margin: 10px 0 10px 0;}
.S3 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 0px none rgb(0, 0, 0); border-radius: 4px 4px 0px 0px; padding: 6px 45px 0px 13px; line-height: 17.2339992523193px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 14px;  }
.S4 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 0px none rgb(0, 0, 0); border-bottom: 0px none rgb(0, 0, 0); border-radius: 0px; padding: 0px 45px 0px 13px; line-height: 17.2339992523193px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 14px;  }
.S5 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 0px none rgb(0, 0, 0); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 0px 0px 4px 4px; padding: 0px 45px 4px 13px; line-height: 17.2339992523193px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 14px;  }
.S6 { margin: 10px 10px 9px 4px; padding: 0px; line-height: 21px; min-height: 0px; white-space: pre-wrap; color: rgb(0, 0, 0); font-family: Helvetica, Arial, sans-serif; font-style: normal; font-size: 14px; font-weight: normal; text-align: left;  }
.S7 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 0px none rgb(0, 0, 0); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 0px; padding: 0px 45px 4px 13px; line-height: 17.2339992523193px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 14px;  }
.S8 { color: rgb(64, 64, 64); padding: 10px 0px 6px 17px; background: rgb(255, 255, 255) none repeat scroll 0% 0% / auto padding-box border-box; font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 14px; overflow-x: hidden; line-height: 17.2339992523193px;  }
.embeddedOutputsErrorElement {min-height: 18px; max-height: 250px; overflow: auto;}
.embeddedOutputsErrorElement.inlineElement {}
.embeddedOutputsErrorElement.rightPaneElement {}
.embeddedOutputsWarningElement{min-height: 18px; max-height: 250px; overflow: auto;}
.embeddedOutputsWarningElement.inlineElement {}
.embeddedOutputsWarningElement.rightPaneElement {}
.diagnosticMessage-wrapper {font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 12px;}
.diagnosticMessage-wrapper.diagnosticMessage-warningType {color: rgb(255,100,0);}
.diagnosticMessage-wrapper.diagnosticMessage-warningType a {color: rgb(255,100,0); text-decoration: underline;}
.diagnosticMessage-wrapper.diagnosticMessage-errorType {color: rgb(230,0,0);}
.diagnosticMessage-wrapper.diagnosticMessage-errorType a {color: rgb(230,0,0); text-decoration: underline;}
.diagnosticMessage-wrapper .diagnosticMessage-messagePart {white-space: pre-wrap;}
.diagnosticMessage-wrapper .diagnosticMessage-stackPart {white-space: pre;}
.embeddedOutputsTextElement,.embeddedOutputsVariableStringElement {white-space: pre; word-wrap: initial; min-height: 18px; max-height: 250px; overflow: auto;}
.textElement,.rtcDataTipElement .textElement {padding-top: 3px;}
.embeddedOutputsTextElement.inlineElement,.embeddedOutputsVariableStringElement.inlineElement {}
.inlineElement .textElement {}
.embeddedOutputsTextElement.rightPaneElement,.embeddedOutputsVariableStringElement.rightPaneElement {min-height: 16px;}
.rightPaneElement .textElement {padding-top: 2px; padding-left: 9px;}
.S9 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 0px 0px 4px 4px; padding: 6px 45px 4px 13px; line-height: 17.2339992523193px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 14px;  }
.S10 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 1px solid rgb(233, 233, 233); border-radius: 4px; padding: 6px 45px 4px 13px; line-height: 17.2339992523193px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 14px;  }
.S11 { border-left: 1px solid rgb(233, 233, 233); border-right: 1px solid rgb(233, 233, 233); border-top: 1px solid rgb(233, 233, 233); border-bottom: 0px none rgb(0, 0, 0); border-radius: 0px; padding: 6px 45px 0px 13px; line-height: 17.2339992523193px; min-height: 18px; white-space: nowrap; color: rgb(0, 0, 0); font-family: Menlo, Monaco, Consolas, 'Courier New', monospace; font-size: 14px;  }</style></head><body><div class = rtcContent><h1  class = 'S0'><span>Generalized Geometry Projection</span></h1><div  class = 'S1'><span>Author Simone Coniglio, 12/09/2019</span></div><div  class = 'S1'><span>This is an introduction to a Matlab implementation of Generalized Geometry Projection approach for topology optimization.</span></div><div  class = 'S1'><span>In this approach geometric primitives are projected on a Finite Element Mesh and assembled together to build the solution. </span></div><h2  class = 'S2'><span>Problem set-up</span></h2><div  class = 'S1'><span>In this section of the Matlab code we define several </span><span style=' font-weight: bold;'>parameters</span><span> needed for the </span><span style=' font-weight: bold;'>Generalized Geometry Projection</span><span>.</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%-------------------------------------------------------------</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    This is the file GGP.html you can redistribute it and/or</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    modify it under the terms of the GNU General Public License as </span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    published by the Free Software Foundation; either version 3 of </span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    the License, or (at your option) any later version.</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    </span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    This code is distributed in the hope that it will be useful,</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    but WITHOUT ANY WARRANTY; without even the implied warranty of</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    GNU General Public License for more details.</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    </span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    You should have received a copy of the GNU General Public License</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    (file COPYING) along with this file.  If not, see </span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    &lt;http://www.gnu.org/licenses/&gt;.</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    Version Nov 2019.</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    Simone Coniglio &lt;simone.coniglio@airbus.com&gt;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    Propulsion Airframe Stress Transverse,</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%    31300 Toulouse, France.</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">% GGP parameters</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>stopping_criteria=</span><span style="color: rgb(160, 32, 240);">'change'</span><span>; </span><span style="color: rgb(34, 139, 34);">%stopping criteria of the optimization algorithm either change or KKT norm</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>nelx=60;nely=30; </span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>BC=</span><span style="color: rgb(160, 32, 240);">'Short_Cantilever'</span><span>;</span><span style="color: rgb(34, 139, 34);">%L-shape %Short_Cantilever%MBB</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.method=</span><span style="color: rgb(160, 32, 240);">'GP'</span><span>;</span><span style="color: rgb(34, 139, 34);">%MMC%MNA %GP this change the function employed for the evaluation of local volume fraction</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>q=1;</span><span style="color: rgb(34, 139, 34);">%q=1</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.zp=1 ;</span><span style="color: rgb(34, 139, 34);">% parameter for p-norm/mean regularization</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.alp=1; </span><span style="color: rgb(34, 139, 34);">%parameter for MMC</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.epsi=0.866;</span><span style="color: rgb(34, 139, 34);">% parameter for MMC</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.bet=1e-3; </span><span style="color: rgb(34, 139, 34);">%parameter for MMC</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.deltamin=1e-6; </span><span style="color: rgb(34, 139, 34);">%parameter for GP</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.r=.5;</span><span style="color: rgb(34, 139, 34);">%parameter for GP</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>minh=1;</span><span style="color: rgb(34, 139, 34);">% minimal bar thickness</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.sigma=1;</span><span style="color: rgb(34, 139, 34);">%parameter for MNA</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.gammav=1;</span><span style="color: rgb(34, 139, 34);">%parameter for GP</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.gammac=3;</span><span style="color: rgb(34, 139, 34);">%parameter for GP</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.penalty=3;</span><span style="color: rgb(34, 139, 34);">%parameter for MNA</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.aggregation=</span><span style="color: rgb(160, 32, 240);">'KSl'</span><span>; </span><span style="color: rgb(34, 139, 34);">%parameter for the aggregation function to be used</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">% IE= Induced Exponential % KS= KS function %KSl= lowerbound KS function</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">% p-norm %p-mean</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.ka=10; </span><span style="color: rgb(34, 139, 34);">% parameter for the aggregation constant</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.saturation=true; </span><span style="color: rgb(34, 139, 34);">% switch for saturation</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>ncx=1; </span><span style="color: rgb(34, 139, 34);">% number of components in the x direction</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>ncy=1; </span><span style="color: rgb(34, 139, 34);">% number of components in the y direction</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Ngp=2; </span><span style="color: rgb(34, 139, 34);">% number of Gauss point per sampling window</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>R=0.5; </span><span style="color: rgb(34, 139, 34);">% radius of the sampling window (infty norm)</span></span></div></div><div class="inlineWrapper"><div  class = 'S5'><span style="white-space: pre;"><span>initial_d=0.5; </span><span style="color: rgb(34, 139, 34);">% initial mass variable adopted for MNA and GP</span></span></div></div></div><div  class = 'S6'><span>Generate a </span><span style=' font-weight: bold;'>folder</span><span> and a prefix to save images </span><span style=' font-weight: bold;'>optimization history</span><span>:</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: pre;"><span>rs=replace(num2str(R,</span><span style="color: rgb(160, 32, 240);">'%3.2f'</span><span>),</span><span style="color: rgb(160, 32, 240);">'.'</span><span>,</span><span style="color: rgb(160, 32, 240);">'_'</span><span>);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>folder_name=[</span><span style="color: rgb(160, 32, 240);">'Optimization_history_'</span><span>,BC,p.method,</span><span style="color: rgb(160, 32, 240);">'nelx_'</span><span>,num2str(nelx),</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(160, 32, 240);">'nely_'</span><span>,num2str(nely),</span><span style="color: rgb(160, 32, 240);">'_R_'</span><span>,rs,</span><span style="color: rgb(160, 32, 240);">'_Ngp_'</span><span>,num2str(Ngp),</span><span style="color: rgb(160, 32, 240);">'_SC_'</span><span>,stopping_criteria];</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>image_prefix=[BC,p.method,</span><span style="color: rgb(160, 32, 240);">'nelx_'</span><span>,num2str(nelx),</span><span style="color: rgb(160, 32, 240);">'nely_'</span><span>,num2str(nely),</span><span style="color: rgb(160, 32, 240);">'_R_'</span><span>,rs,</span><span style="color: rgb(160, 32, 240);">'_Ngp_'</span><span>,num2str(Ngp)];</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S7'><span style="white-space: pre;"><span>mkdir(folder_name)</span></span></div><div  class = 'S8'><div class="inlineElement eoOutputWrapper embeddedOutputsWarningElement" uid="9B0727E4" data-testid="output_0" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="diagnosticMessage-wrapper diagnosticMessage-warningType"><div class="diagnosticMessage-messagePart">Warning: Directory already exists.</div><div class="diagnosticMessage-stackPart"></div></div></div></div></div><div class="inlineWrapper"><div  class = 'S9'><span style="white-space: pre;"><span>Path=[folder_name,</span><span style="color: rgb(160, 32, 240);">'/'</span><span>];</span></span></div></div></div><div  class = 'S6'><span>Define </span><span style=' font-weight: bold;'>Material properties</span><span>:</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">% MATERIAL PROPERTIES</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.E0 = 1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>p.Emin = 1e-6;</span></span></div></div><div class="inlineWrapper"><div  class = 'S5'><span style="white-space: pre;"><span>nu = 0.3;</span></span></div></div></div><div  class = 'S6'><span>Prepare </span><span style=' font-weight: bold;'>finite element analysis</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">% PREPARE FINITE ELEMENT ANALYSIS</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>A11 = [12  3 -6 -3;  3 12  3  0; -6  3 12 -3; -3  0 -3 12];</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>A12 = [-6 -3  0  3; -3 -6 -3 -6;  0 -3 -6  3;  3 -6  3 -6];</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>B11 = [-4  3 -2  9;  3 -4 -9  4; -2 -9 -4 -3;  9  4 -3 -4];</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>B12 = [ 2 -3  4 -9; -3  2  9 -2;  4  9  2  3; -9 -2  3  2];</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>KE = 1/(1-nu^2)/24*([A11 A12;A12' A11]+nu*[B11 B12;B12' B11]);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>nodenrs = reshape(1:(1+nelx)*(1+nely),1+nely,1+nelx);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>edofVec = reshape(2*nodenrs(1:end-1,1:end-1)+1,nelx*nely,1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>edofMat = repmat(edofVec,1,8)+repmat([0 1 2*nely+[2 3 0 1] -2 -1],nelx*nely,1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>iK = reshape(kron(edofMat,ones(8,1))',64*nelx*nely,1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>jK = reshape(kron(edofMat,ones(1,8))',64*nelx*nely,1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>U = zeros(2*(nely+1)*(nelx+1),1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%define the nodal coordinates</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>[Yy,Xx]=find(nodenrs);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Yy=nely+1-Yy;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Xx=Xx-1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">% Element connectivity</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>enodeMat=edofMat(:,[2,4,6,8])/2;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">% DEFINE LOADS AND SUPPORTS </span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(0, 0, 255);">switch </span><span>BC</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(0, 0, 255);">case </span><span style="color: rgb(160, 32, 240);">'MBB'</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        excitation_node=1;excitation_direction=2;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        amplitude=-1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        F = sparse(2*(excitation_node-1)+excitation_direction,1,amplitude,2*(nely+1)*(nelx+1),1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        fixednodes=[find(Xx==min(Xx));(nelx+1)*(nely+1)];fixed_dir=[ones(nely+1,1);2];</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        fixeddofs=2*(fixednodes-1)+fixed_dir;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        emptyelts=[]; fullelts = [];</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(0, 0, 255);">case </span><span style="color: rgb(160, 32, 240);">'Short_Cantilever'</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        excitation_node=find((Xx==max(Xx))&amp;(Yy==fix(0.5*min(Yy)+0.5*max(Yy))));excitation_direction=2;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        amplitude=-1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        F = sparse(2*(excitation_node-1)+excitation_direction,1,amplitude,2*(nely+1)*(nelx+1),1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        fixednodes=repmat(find(Xx==min(Xx)),2,1);fixed_dir=[ones(nely+1,1);2*ones(nely+1,1)];</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        fixeddofs=2*(fixednodes-1)+fixed_dir(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        emptyelts=[]; fullelts = [];</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(0, 0, 255);">case </span><span style="color: rgb(160, 32, 240);">'L-shape'</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        excitation_node=find((Xx==max(Xx))&amp;(Yy==fix(0.5*min(Yy)+0.5*max(Yy))));excitation_direction=2;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        amplitude=-1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        F = sparse(2*(excitation_node-1)+excitation_direction,1,amplitude,2*(nely+1)*(nelx+1),1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        fixednodes=repmat(find(Yy==max(Yy)),2,1);fixed_dir=[ones(nelx+1,1),2*ones(nelx+1,1)];</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        fixeddofs=2*(fixednodes-1)+fixed_dir(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        emptyelts=find(xc&gt;=(((max(Xx)+min(Xx))/2))&amp;(yc&gt;=((max(Yy)+min(Yy))/2)));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        fullelts = [];</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(0, 0, 255);">otherwise</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        error(</span><span style="color: rgb(160, 32, 240);">'BC string should be a valid entry: ''MBB'',''L-Shape'',''Short_Cantilever'''</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(0, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>alldofs = </span><span class="warning_squiggle_rte">[</span><span>1:2*(nely+1)*(nelx+1)];</span></span></div></div><div class="inlineWrapper"><div  class = 'S5'><span style="white-space: pre;"><span>freedofs = setdiff(alldofs,fixeddofs);</span></span></div></div></div><h2  class = 'S2'><span>Prepare the </span><span style=' font-weight: bold;'>Generalized Geometry Projection:</span></h2><div  class = 'S1'><span>Compute the element centroid coordinates:</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: pre;"><span>xc=mean(Xx(enodeMat'));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>yc=mean(Yy(enodeMat'));</span></span></div></div><div class="inlineWrapper"><div  class = 'S5'><span style="white-space: pre;"><span>centroid_coordinate=[xc(:),yc(:)];</span></span></div></div></div><div  class = 'S6'><span>Compute </span><span style=' font-weight: bold;'>Gauss point coordinates and weights </span><span>in a squared sampling window </span><span style="vertical-align:-5px"><img src="" width="64.5" height="19" /></span><span> centred in the origin</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: pre;"><span>a=-R;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>b=R;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>[gpc,wc]=lgwt(Ngp,a,b);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>[gpcx,gpcy]=meshgrid(gpc,gpc);</span></span></div></div><div class="inlineWrapper"><div  class = 'S5'><span style="white-space: pre;"><span>gauss_weight=wc*wc';</span></span></div></div></div><div  class = 'S6'><span>Repeat the value ones for each element in the mesh</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: pre;"><span>gpcx=reshape((repmat(gpcx(:),1,size(centroid_coordinate,1)))',[],1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>gpcy=reshape((repmat(gpcy(:),1,size(centroid_coordinate,1)))',[],1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S5'><span style="white-space: pre;"><span>gauss_weight=reshape((repmat(gauss_weight(:),1,size(centroid_coordinate,1)))',[],1);</span></span></div></div></div><div  class = 'S6'><span>translate the sampling window Gauss points of the element centroid coordinates</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: pre;"><span>cc=repmat(centroid_coordinate,Ngp^2,1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S5'><span style="white-space: pre;"><span>gauss_point=cc+[gpcx,gpcy];</span></span></div></div></div><div  class = 'S6'><span>Avoid to evaluate repeated value of sampling window gauss point coordinates:</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S10'><span style="white-space: pre;"><span>[ugp,~,idgp]=unique(gauss_point,</span><span style="color: rgb(160, 32, 240);">'rows'</span><span>);</span></span></div></div></div><h2  class = 'S2'><span>Initialize design variable vector:</span></h2><div  class = 'S1'><span>The initial design is composed of couples of crossed components regularly disposed in the mesh. </span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: pre;"><span>xp=linspace(min(Xx),max(Xx),ncx+2);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>yp=linspace(min(Yy),max(Yy),ncy+2); </span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>[xx,yy]=meshgrid(xp,yp);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Xc=repmat(xx(:),2,1); </span><span style="color: rgb(34, 139, 34);">%component center X</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Yc=repmat(yy(:),2,1); </span><span style="color: rgb(34, 139, 34);">%component center Y</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Lc=2*sqrt((nelx/(ncx+2))^2+(nely/(ncy+2))^2)*ones(size(Xc)); </span><span style="color: rgb(34, 139, 34);">%component length L</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Tc=atan2(nely/ncy,nelx/ncx)*[ones(length(Xc)/2,1);-ones(length(Xc)/2,1)];</span><span style="color: rgb(34, 139, 34);">% component orientation angle tetha</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>hc=2*ones(length(Xc),1); </span><span style="color: rgb(34, 139, 34);">% component h</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Mc=initial_d*ones(size(Xc)); </span><span style="color: rgb(34, 139, 34);">% component mass (For MNA and GP)</span></span></div></div><div class="inlineWrapper"><div  class = 'S5'><span style="white-space: pre;"><span>Xg=reshape([Xc,Yc,Lc,hc,Tc,Mc]',[],1);</span></span></div></div></div><h2  class = 'S2'><span>Build upper and lower bounds of the design problem</span></h2><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: pre;"><span>Xl=min(Xx-1)*ones(size(Xc));Xu=max(Xx+1)*ones(size(Xc));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Yl=min(Yy-1)*ones(size(Xc));Yu=max(Yy+1)*ones(size(Xc));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Ll=0*ones(size(Xc));Lu=sqrt(nelx^2+nely^2)*ones(size(Xc));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>hl=minh*ones(size(Xc));hu=sqrt(nelx^2+nely^2)*ones(size(Xc));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Tl=-2*pi*ones(size(Xc));Tu=2*pi*ones(size(Xc));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Ml=0*ones(size(Xc));Mu=ones(size(Xc));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>lower_bound=reshape([Xl,Yl,Ll,hl,Tl,Ml]',[],1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S5'><span style="white-space: pre;"><span>upper_bound=reshape([Xu,Yu,Lu,hu,Tu,Mu]',[],1);</span></span></div></div></div><div  class = 'S6'><span style=' font-weight: bold;'>Scale</span><span> the </span><span style=' font-weight: bold;'>design variable vector</span><span> accordingly  </span><span style="vertical-align:-5px"><img src="" width="75.5" height="19" /></span><span>:</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S10'><span style="white-space: pre;"><span>X=(Xg-lower_bound)./(upper_bound-lower_bound);</span></span></div></div></div><h2  class = 'S2'><span>MMA initialization:</span></h2><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: pre;"><span>loop = 0;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>m = 1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>n = length(X(:));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>epsimin = 0.0000001;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>eeen    = ones(n,1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>eeem    = ones(m,1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>zeron   = zeros(n,1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>zerom   = zeros(m,1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>xval    = X(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>xold1   = xval;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>xold2   = xval;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>xmin    = zeron;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>xmax    = eeen;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>low     = xmin;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>upp     = xmax;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>C       = 1000*eeem;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>d       = 0*eeem;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>a0      = 1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>a       = zerom;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>outeriter = 0;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>maxoutit  = 2000;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>kkttol  =0.001;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>changetol=0.001;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>kktnorm = kkttol+10;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>outit = 0;</span></span></div></div><div class="inlineWrapper"><div  class = 'S5'><span style="white-space: pre;"><span>change=1;</span></span></div></div></div><div  class = 'S6'><span>choose the allowable </span><span style=' font-weight: bold;'>volfrac:</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S10'><span style="white-space: pre;"><span>volfrac=.4;</span></span></div></div></div><div  class = 'S6'><span>Prepare plots and quantity storage:</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: pre;"><span>cvec=zeros(maxoutit,1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>vvec=cvec;ovvec=cvec;gvec=cvec;pvec=cvec;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>plot_rate=10;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%initialize variables for plot</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>tt=0:0.005:(2*pi);tt=repmat(tt,length(Xc),1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S5'><span style="white-space: pre;"><span>cc=cos(tt);ss=sin(tt);</span></span></div></div></div><div  class = 'S6'><span>Initialize the stopping criterion</span></div><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: pre;"><span style="color: rgb(0, 0, 255);">switch </span><span>stopping_criteria</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(0, 0, 255);">case </span><span style="color: rgb(160, 32, 240);">'kktnorm'</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        stop_cond=outit &lt; maxoutit &amp;&amp; kktnorm&gt;kkttol;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(0, 0, 255);">case </span><span style="color: rgb(160, 32, 240);">'change'</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        stop_cond=outit &lt; maxoutit &amp;&amp;change&gt;changetol;</span></span></div></div><div class="inlineWrapper"><div  class = 'S5'><span style="white-space: pre;"><span style="color: rgb(0, 0, 255);">end</span></span></div></div></div><h2  class = 'S2'><span>Start the design loop:</span></h2><div class="CodeBlock"><div class="inlineWrapper"><div  class = 'S3'><span style="white-space: pre;"><span style="color: rgb(0, 0, 255);">while</span><span>  stop_cond</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    outit   = outit+1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    outeriter = outeriter+1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(34, 139, 34);">%Compute the smooth characteristic functions and gradients for each component </span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(34, 139, 34);">% on each sampling window Gauss point (Can support GPU)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    [W,dW_dX,dW_dY,dW_dT,dW_dL,dW_dh]=Wgp(ugp(:,1),ugp(:,2),Xg,p);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(34, 139, 34);">%Compute local volume fractions and gradients using generalized projection</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(34, 139, 34);">% delta is for densities, deltac for Young modulus</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    delta=sum(reshape(W(:,idgp).*repmat(gauss_weight(:)',size(W,1),1),size(W,1),[],Ngp^2),3)</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        ./sum(reshape(repmat(gauss_weight(:)',size(W,1),1),size(W,1),[],Ngp^2),3);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    ddelta_dX=sum(reshape(dW_dX(:,idgp).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    ddelta_dY=sum(reshape(dW_dY(:,idgp).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    ddelta_dT=sum(reshape(dW_dT(:,idgp).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    ddelta_dL=sum(reshape(dW_dL(:,idgp).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    ddelta_dh=sum(reshape(dW_dh(:,idgp).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    delta_c=sum(reshape(W(:,idgp).^q.*repmat(gauss_weight(:)',size(W,1),1),size(W,1),[],Ngp^2),3)</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        ./sum(reshape(repmat(gauss_weight(:)',size(W,1),1),size(W,1),[],Ngp^2),3);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    ddelta_c_dX=sum(reshape(q*dW_dX(:,idgp).*W(:,idgp).^(q-1).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    ddelta_c_dY=sum(reshape(q*dW_dY(:,idgp).*W(:,idgp).^(q-1).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    ddelta_c_dT=sum(reshape(q*dW_dT(:,idgp).*W(:,idgp).^(q-1).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    ddelta_c_dL=sum(reshape(q*dW_dL(:,idgp).*W(:,idgp).^(q-1).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    ddelta_c_dh=sum(reshape(q*dW_dh(:,idgp).*W(:,idgp).^(q-1).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(34, 139, 34);">% model update </span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(34, 139, 34);">% compute young modulus and gradients</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    [E,dE,dE_dm]=model_updateM(delta_c,p,X);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dE_dX=dE.*ddelta_c_dX;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dE_dY=dE.*ddelta_c_dY;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dE_dT=dE.*ddelta_c_dT;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dE_dL=dE.*ddelta_c_dL;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dE_dh=dE.*ddelta_c_dh;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    E=full(reshape(E(:),nely,nelx));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(34, 139, 34);">%compute densities</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    [rho,drho_ddelta,drho_dm]=model_updateV(delta,p,X);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    drho_dX=drho_ddelta.*ddelta_dX;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    drho_dY=drho_ddelta.*ddelta_dY;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    drho_dT=drho_ddelta.*ddelta_dT;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    drho_dL=drho_ddelta.*ddelta_dL;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    drho_dh=drho_ddelta.*ddelta_dh;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    xPhys=full(reshape(rho(:),nely,nelx));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(34, 139, 34);">%Take in account passive elements</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    xPhys(emptyelts) = 0;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    xPhys(fullelts) = 1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    E(emptyelts) = p.Emin;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    E(fullelts) = p.E0;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(34, 139, 34);">% FE-ANALYSIS</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    sK = reshape(KE(:)*(E(:)'),64*nelx*nely,1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    K = sparse(iK,jK,sK); K = (K+K')/2;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    U(freedofs) = K(freedofs,freedofs)\F(freedofs);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(34, 139, 34);">% OBJECTIVE FUNCTION AND SENSITIVITY ANALYSIS</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    ce = reshape(sum((U(edofMat)*KE).*U(edofMat),2),nely,nelx);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    c = sum(sum((E).*ce));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    v=mean(xPhys(:));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc_dE = -ce;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc_dE(emptyelts) = 0;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc_dE(fullelts) = 0;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc_dX=dE_dX*dc_dE(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc_dY=dE_dY*dc_dE(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc_dL=dE_dL*dc_dE(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc_dh=dE_dh*dc_dE(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc_dT=dE_dT*dc_dE(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc_dm=dE_dm*dc_dE(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc=zeros(size(X));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc(1:6:end)=dc_dX;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc(2:6:end)=dc_dY;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc(3:6:end)=dc_dL;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc(4:6:end)=dc_dh;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc(5:6:end)=dc_dT;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dc(6:6:end)=dc_dm;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv_dxPhys = ones(nely,nelx)/nelx/nely;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv_dxPhys(emptyelts) = 0;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv_dxPhys(fullelts) = 0;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv_dX=drho_dX*dv_dxPhys(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv_dY=drho_dY*dv_dxPhys(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv_dL=drho_dL*dv_dxPhys(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv_dh=drho_dh*dv_dxPhys(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv_dT=drho_dT*dv_dxPhys(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv_dm=drho_dm*dv_dxPhys(:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv=zeros(size(X));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv(1:6:end)=dv_dX;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv(2:6:end)=dv_dY;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv(3:6:end)=dv_dL;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv(4:6:end)=dv_dh;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv(5:6:end)=dv_dT;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dv(6:6:end)=dv_dm;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(34, 139, 34);">% store the output for plot</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    cvec(outit)=c;vvec(outit)=v;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">    %% PRINT RESULTS</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    fprintf(</span><span style="color: rgb(160, 32, 240);">' It.:%5i Obj.:%4.3e Vol.:%7.3f kktnorm.:%7.3f ch.:%7.3f\n'</span><span>,outit,c, </span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        mean(xPhys(:)),kktnorm,change);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(34, 139, 34);">% pass scaled objective and constraint function and sensitivities to MMA</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    f0val=log(c+1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    fval=</span><span class="warning_squiggle_rte">[</span><span>(v-volfrac)/volfrac]*100;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    df0dx=(dc(:)/(c+1).*(upper_bound(:)-lower_bound(:)));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    dfdx=</span><span class="warning_squiggle_rte">[</span><span>dv(:)'/volfrac]*100.*(upper_bound(:)-lower_bound(:))';</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(34, 139, 34);">%plot every plot_rate iterations</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(0, 0, 255);">if </span><span>rem(outit,plot_rate)==0</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        </span><span style="color: rgb(34, 139, 34);">%convergence plot</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        figure(3)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        subplot(2,1,1)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        plot(1:outit,cvec(1:outit),</span><span style="color: rgb(160, 32, 240);">'bo'</span><span>,</span><span style="color: rgb(160, 32, 240);">'MarkerFaceColor'</span><span>,</span><span style="color: rgb(160, 32, 240);">'b'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        grid </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        hold </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        scatter(outit,c,</span><span style="color: rgb(160, 32, 240);">'k'</span><span>,</span><span style="color: rgb(160, 32, 240);">'fill'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        hold </span><span style="color: rgb(160, 32, 240);">off</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        text(outit,c,[</span><span style="color: rgb(160, 32, 240);">'C ='</span><span>,num2str(c,</span><span style="color: rgb(160, 32, 240);">'%4.2f'</span><span>),</span><span style="color: rgb(160, 32, 240);">' at iteration '</span><span>, num2str(outit)],</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>            </span><span style="color: rgb(160, 32, 240);">'VerticalAlignment'</span><span>,</span><span style="color: rgb(160, 32, 240);">'bottom'</span><span>,</span><span style="color: rgb(160, 32, 240);">'HorizontalAlignment'</span><span>,</span><span style="color: rgb(160, 32, 240);">'right'</span><span>,</span><span style="color: rgb(160, 32, 240);">'FontSize'</span><span>,24,</span><span style="color: rgb(160, 32, 240);">'FontWeight'</span><span>,</span><span style="color: rgb(160, 32, 240);">'bold'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>         xlabel(</span><span style="color: rgb(160, 32, 240);">'iter'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        ylabel(</span><span style="color: rgb(160, 32, 240);">'C'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        subplot(2,1,2)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        plot(1:outit,vvec(1:outit)*100,</span><span style="color: rgb(160, 32, 240);">'ro'</span><span>,</span><span style="color: rgb(160, 32, 240);">'MarkerFaceColor'</span><span>,</span><span style="color: rgb(160, 32, 240);">'r'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        grid </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        hold </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        scatter(outit,mean(xPhys(:))*100,</span><span style="color: rgb(160, 32, 240);">'k'</span><span>,</span><span style="color: rgb(160, 32, 240);">'fill'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        hold </span><span style="color: rgb(160, 32, 240);">off</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        text(outit,mean(xPhys(:))*100,[</span><span style="color: rgb(160, 32, 240);">'V = '</span><span>,num2str(mean(xPhys(:))*100,</span><span style="color: rgb(160, 32, 240);">'%4.2f'</span><span>),</span><span style="color: rgb(160, 32, 240);">'% at iteration '</span><span>, num2str(outit)],</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>            </span><span style="color: rgb(160, 32, 240);">'VerticalAlignment'</span><span>,</span><span style="color: rgb(160, 32, 240);">'bottom'</span><span>,</span><span style="color: rgb(160, 32, 240);">'HorizontalAlignment'</span><span>,</span><span style="color: rgb(160, 32, 240);">'right'</span><span>,</span><span style="color: rgb(160, 32, 240);">'FontSize'</span><span>,24,</span><span style="color: rgb(160, 32, 240);">'FontWeight'</span><span>,</span><span style="color: rgb(160, 32, 240);">'bold'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        xlabel(</span><span style="color: rgb(160, 32, 240);">'iter'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        ylabel(</span><span style="color: rgb(160, 32, 240);">'V [%]'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        print([Path,image_prefix,</span><span style="color: rgb(160, 32, 240);">'convergence'</span><span>],</span><span style="color: rgb(160, 32, 240);">'-dpng'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">        %% PLOT DENSITIES</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        figure(1)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        map=colormap(gray);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        map=map(end:-1:1,:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        caxis([0 1])</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        </span><span class="warning_squiggle_rte">patchplot2</span><span> = patch(</span><span style="color: rgb(160, 32, 240);">'Vertices'</span><span>,[Xx,Yy],</span><span style="color: rgb(160, 32, 240);">'Faces'</span><span>,edofMat(:,[2,4,6,8])/2,</span><span style="color: rgb(160, 32, 240);">'FaceVertexCData'</span><span>,(1-xPhys(:))*[1 1 1],</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>            </span><span style="color: rgb(160, 32, 240);">'FaceColor'</span><span>,</span><span style="color: rgb(160, 32, 240);">'flat'</span><span>,</span><span style="color: rgb(160, 32, 240);">'EdgeColor'</span><span>,</span><span style="color: rgb(160, 32, 240);">'none'</span><span>); axis </span><span style="color: rgb(160, 32, 240);">equal</span><span>; axis </span><span style="color: rgb(160, 32, 240);">off</span><span>; hold </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        hold </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        fill([min(Xx),max(Xx),max(Xx),min(Xx)],[min(Yy),min(Yy),max(Yy),max(Yy)],</span><span style="color: rgb(160, 32, 240);">'w'</span><span>,</span><span style="color: rgb(160, 32, 240);">'FaceAlpha'</span><span>,0.)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        scatter(Xx(fixednodes(fixed_dir==1)),Yy(fixednodes(fixed_dir==1)),</span><span style="color: rgb(160, 32, 240);">'&gt;b'</span><span>,</span><span style="color: rgb(160, 32, 240);">'filled'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        scatter(Xx(fixednodes(fixed_dir==2)),Yy(fixednodes(fixed_dir==2)),</span><span style="color: rgb(160, 32, 240);">'^b'</span><span>,</span><span style="color: rgb(160, 32, 240);">'filled'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        scal=10;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        quiver(Xx(excitation_node),Yy(excitation_node)+scal*(excitation_direction==2),excitation_direction==1,</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>            -(excitation_direction==2), scal,</span><span style="color: rgb(160, 32, 240);">'r'</span><span>,</span><span style="color: rgb(160, 32, 240);">'Linewidth'</span><span>,2)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        colormap(map)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        colorbar</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        drawnow</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        hold </span><span style="color: rgb(160, 32, 240);">off</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        axis([min(Xx),max(Xx),min(Yy),max(Yy)])</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        print([Path,</span><span style="color: rgb(160, 32, 240);">'density_'</span><span>,num2str(outit-1,</span><span style="color: rgb(160, 32, 240);">'%03d'</span><span>)],</span><span style="color: rgb(160, 32, 240);">'-dpng'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">        %% Component Plot</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        figure(2)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        Xc=Xg(1:6:end);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        Yc=Xg(2:6:end);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        Lc=Xg(3:6:end);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        hc=Xg(4:6:end);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        Tc=Xg(5:6:end) ;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        Mc=Xg(6:6:end) ;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        C0=repmat(cos(Tc),1,size(cc,2));S0=repmat(sin(Tc),1,size(cc,2));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        xxx=repmat(Xc(:),1,size(cc,2))+cc;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        yyy=repmat(Yc(:),1,size(cc,2))+ss;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        xi=C0.*(xxx-Xc)+S0.*(yyy-Yc);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        Eta=-S0.*(xxx-Xc)+C0.*(yyy-Yc);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        [dd]=norato_bar(xi,Eta,repmat(Lc(:),1,size(cc,2)),repmat(hc(:),1,size(cc,2)));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        xn=repmat(Xc,1,size(cc,2))+dd.*cc;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        yn=repmat(Yc,1,size(cc,2))+dd.*ss;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        tolshow=0.1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        Shown_compo=find(Mc&gt;tolshow);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        fill([min(Xx),max(Xx),max(Xx),min(Xx)],[min(Yy),min(Yy),max(Yy),max(Yy)],</span><span style="color: rgb(160, 32, 240);">'w'</span><span>,</span><span style="color: rgb(160, 32, 240);">'FaceAlpha'</span><span>,0.)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        hold </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        fill(xn(Shown_compo,:)',yn(Shown_compo,:)',Mc(Shown_compo),</span><span style="color: rgb(160, 32, 240);">'FaceAlpha'</span><span>,0.5)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        </span><span style="color: rgb(0, 0, 255);">if </span><span>strcmp(BC,</span><span style="color: rgb(160, 32, 240);">'L-shape'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>            fill([fix((min(Xx)+max(Xx))/2),max(Xx),max(Xx),fix((min(Xx)+max(Xx))/2)],[fix((min(Yy)+max(Yy))/2),</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>                fix((min(Yy)+max(Yy))/2),max(Yy),max(Yy)],</span><span style="color: rgb(160, 32, 240);">'w'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        </span><span style="color: rgb(0, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        caxis([0,1])</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        colormap </span><span style="color: rgb(160, 32, 240);">'jet'</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        axis </span><span style="color: rgb(160, 32, 240);">equal</span><span>; axis </span><span style="color: rgb(160, 32, 240);">off</span><span>;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        hold </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        scatter(Xx(fixednodes(fixed_dir==1)),Yy(fixednodes(fixed_dir==1)),</span><span style="color: rgb(160, 32, 240);">'&gt;b'</span><span>,</span><span style="color: rgb(160, 32, 240);">'filled'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        scatter(Xx(fixednodes(fixed_dir==2)),Yy(fixednodes(fixed_dir==2)),</span><span style="color: rgb(160, 32, 240);">'^b'</span><span>,</span><span style="color: rgb(160, 32, 240);">'filled'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        scal=10;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        quiver(Xx(excitation_node),Yy(excitation_node)+scal*(excitation_direction==2),excitation_direction==1,</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>            -(excitation_direction==2),scal,</span><span style="color: rgb(160, 32, 240);">'r'</span><span>,</span><span style="color: rgb(160, 32, 240);">'Linewidth'</span><span>,2)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        colorbar</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        axis([min(Xx),max(Xx),min(Yy),max(Yy)])</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        print([Path,</span><span style="color: rgb(160, 32, 240);">'component_'</span><span>,num2str(outit-1,</span><span style="color: rgb(160, 32, 240);">'%03d'</span><span>)],</span><span style="color: rgb(160, 32, 240);">'-dpng'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        hold </span><span style="color: rgb(160, 32, 240);">off</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(0, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">    %% MMA code optimization</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        [X,ymma,zmma,lam,xsi,eta,mu,zet,S,low,upp] = </span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>            mmasub(m,n,outeriter,xval,xmin,xmax,xold1,xold2, </span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>            f0val,df0dx,fval,dfdx,low,upp,a0,a,C,d);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        xold2 = xold1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        xold1 = xval;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        xval  = X;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        Xg=lower_bound+(upper_bound-lower_bound).*X;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        change=norm(xval-xold1);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">        %% The residual vector of the KKT conditions is calculated:</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    [residu,kktnorm,residumax] = </span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        kktcheck(m,n,X,ymma,zmma,lam,xsi,eta,mu,zet,S, </span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        xmin,xmax,df0dx,fval,dfdx,a0,a,C,d);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(34, 139, 34);">% update the stopping criterion</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(0, 0, 255);">switch </span><span>stopping_criteria</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        </span><span style="color: rgb(0, 0, 255);">case </span><span style="color: rgb(160, 32, 240);">'kktnorm'</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>            stop_cond=outit &lt; maxoutit &amp;&amp; kktnorm&gt;kkttol;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        </span><span style="color: rgb(0, 0, 255);">case </span><span style="color: rgb(160, 32, 240);">'change'</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>            stop_cond=outit &lt; maxoutit &amp;&amp;change&gt;changetol;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(0, 0, 255);">end</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S7'><span style="white-space: pre;"><span style="color: rgb(0, 0, 255);">end</span></span></div><div  class = 'S8'><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="298A4520" data-testid="output_1" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:    1 Obj.:4.236e+04 Vol.:  0.074 kktnorm.: 10.001 ch.:  1.000</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="30859D63" data-testid="output_2" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:    2 Obj.:1.028e+04 Vol.:  0.113 kktnorm.: 84.904 ch.:  0.088</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="699241E3" data-testid="output_3" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:    3 Obj.:5.624e+03 Vol.:  0.149 kktnorm.: 74.311 ch.:  0.085</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="8B4C5593" data-testid="output_4" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:    4 Obj.:2.991e+03 Vol.:  0.183 kktnorm.: 64.682 ch.:  0.079</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="A2EAD1C3" data-testid="output_5" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:    5 Obj.:1.979e+03 Vol.:  0.220 kktnorm.: 55.702 ch.:  0.069</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="7CC3176E" data-testid="output_6" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:    6 Obj.:1.513e+03 Vol.:  0.254 kktnorm.: 45.613 ch.:  0.066</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C18E1643" data-testid="output_7" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:    7 Obj.:1.187e+03 Vol.:  0.282 kktnorm.: 36.972 ch.:  0.063</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="627250AF" data-testid="output_8" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:    8 Obj.:9.474e+02 Vol.:  0.315 kktnorm.: 30.084 ch.:  0.062</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="022AC95B" data-testid="output_9" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:    9 Obj.:7.933e+02 Vol.:  0.346 kktnorm.: 21.728 ch.:  0.056</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="B180AF86" data-testid="output_10" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   10 Obj.:6.889e+02 Vol.:  0.370 kktnorm.: 14.059 ch.:  0.049</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="3622145A" data-testid="output_11" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   11 Obj.:6.176e+02 Vol.:  0.387 kktnorm.:  8.511 ch.:  0.038</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="676E1FC2" data-testid="output_12" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   12 Obj.:5.764e+02 Vol.:  0.395 kktnorm.:  4.412 ch.:  0.030</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="9833ED5F" data-testid="output_13" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   13 Obj.:5.517e+02 Vol.:  0.398 kktnorm.:  2.943 ch.:  0.026</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="BFEBABA9" data-testid="output_14" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   14 Obj.:5.367e+02 Vol.:  0.399 kktnorm.:  2.346 ch.:  0.024</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="EB550356" data-testid="output_15" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   15 Obj.:5.244e+02 Vol.:  0.398 kktnorm.:  2.399 ch.:  0.023</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="101737BA" data-testid="output_16" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   16 Obj.:5.121e+02 Vol.:  0.400 kktnorm.:  2.078 ch.:  0.024</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="DF66961C" data-testid="output_17" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   17 Obj.:5.033e+02 Vol.:  0.399 kktnorm.:  2.672 ch.:  0.023</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="84CC4530" data-testid="output_18" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   18 Obj.:4.927e+02 Vol.:  0.398 kktnorm.:  2.305 ch.:  0.022</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="5A2AFF13" data-testid="output_19" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   19 Obj.:4.820e+02 Vol.:  0.399 kktnorm.:  2.097 ch.:  0.022</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C28F65A0" data-testid="output_20" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   20 Obj.:4.719e+02 Vol.:  0.399 kktnorm.:  2.049 ch.:  0.021</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="E985A281" data-testid="output_21" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   21 Obj.:4.621e+02 Vol.:  0.399 kktnorm.:  1.957 ch.:  0.021</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="7AF32DB2" data-testid="output_22" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   22 Obj.:4.529e+02 Vol.:  0.399 kktnorm.:  1.972 ch.:  0.021</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="0495D775" data-testid="output_23" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   23 Obj.:4.440e+02 Vol.:  0.399 kktnorm.:  1.862 ch.:  0.020</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="D06B9FE9" data-testid="output_24" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   24 Obj.:4.354e+02 Vol.:  0.399 kktnorm.:  1.834 ch.:  0.020</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="149EBB2C" data-testid="output_25" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   25 Obj.:4.271e+02 Vol.:  0.399 kktnorm.:  1.883 ch.:  0.020</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="2A03F33C" data-testid="output_26" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   26 Obj.:4.189e+02 Vol.:  0.399 kktnorm.:  1.863 ch.:  0.021</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="1A68EC02" data-testid="output_27" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   27 Obj.:4.106e+02 Vol.:  0.399 kktnorm.:  1.805 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C4F576EC" data-testid="output_28" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   28 Obj.:4.029e+02 Vol.:  0.399 kktnorm.:  1.998 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="D2E6DA97" data-testid="output_29" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   29 Obj.:3.951e+02 Vol.:  0.399 kktnorm.:  1.814 ch.:  0.020</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="B105CBBA" data-testid="output_30" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   30 Obj.:3.874e+02 Vol.:  0.399 kktnorm.:  1.765 ch.:  0.020</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="3CD45C11" data-testid="output_31" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   31 Obj.:3.803e+02 Vol.:  0.399 kktnorm.:  1.766 ch.:  0.020</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="27F4E38C" data-testid="output_32" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   32 Obj.:3.733e+02 Vol.:  0.399 kktnorm.:  1.818 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="84B8355F" data-testid="output_33" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   33 Obj.:3.666e+02 Vol.:  0.399 kktnorm.:  1.828 ch.:  0.020</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="DF268BD2" data-testid="output_34" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   34 Obj.:3.603e+02 Vol.:  0.399 kktnorm.:  1.885 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="899321C0" data-testid="output_35" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   35 Obj.:3.541e+02 Vol.:  0.399 kktnorm.:  1.847 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="95882FF1" data-testid="output_36" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   36 Obj.:3.479e+02 Vol.:  0.399 kktnorm.:  1.873 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="20E81D00" data-testid="output_37" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   37 Obj.:3.416e+02 Vol.:  0.399 kktnorm.:  1.904 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="07106D18" data-testid="output_38" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   38 Obj.:3.355e+02 Vol.:  0.399 kktnorm.:  1.831 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="5451B66A" data-testid="output_39" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   39 Obj.:3.293e+02 Vol.:  0.399 kktnorm.:  1.815 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="D70A93D5" data-testid="output_40" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   40 Obj.:3.238e+02 Vol.:  0.399 kktnorm.:  1.761 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="670DAB61" data-testid="output_41" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   41 Obj.:3.179e+02 Vol.:  0.399 kktnorm.:  1.786 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="80EA523D" data-testid="output_42" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   42 Obj.:3.118e+02 Vol.:  0.399 kktnorm.:  1.797 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="2DD1E09F" data-testid="output_43" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   43 Obj.:3.064e+02 Vol.:  0.399 kktnorm.:  1.763 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="B571066C" data-testid="output_44" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   44 Obj.:3.010e+02 Vol.:  0.399 kktnorm.:  1.770 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="EC85C40E" data-testid="output_45" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   45 Obj.:2.957e+02 Vol.:  0.399 kktnorm.:  1.769 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="E09EFF77" data-testid="output_46" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   46 Obj.:2.902e+02 Vol.:  0.399 kktnorm.:  1.792 ch.:  0.020</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="D7CD0D56" data-testid="output_47" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   47 Obj.:2.848e+02 Vol.:  0.399 kktnorm.:  1.795 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="7A194D9A" data-testid="output_48" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   48 Obj.:2.796e+02 Vol.:  0.399 kktnorm.:  1.796 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="CC0BEBA4" data-testid="output_49" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   49 Obj.:2.745e+02 Vol.:  0.399 kktnorm.:  1.791 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="D5F69531" data-testid="output_50" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   50 Obj.:2.694e+02 Vol.:  0.399 kktnorm.:  1.783 ch.:  0.017</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C46F9A84" data-testid="output_51" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   51 Obj.:2.642e+02 Vol.:  0.399 kktnorm.:  1.793 ch.:  0.019</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="7886E851" data-testid="output_52" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   52 Obj.:2.597e+02 Vol.:  0.399 kktnorm.:  1.704 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="7D4BBA57" data-testid="output_53" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   53 Obj.:2.557e+02 Vol.:  0.399 kktnorm.:  1.724 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="A5700319" data-testid="output_54" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   54 Obj.:2.516e+02 Vol.:  0.399 kktnorm.:  1.715 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="CD9B827D" data-testid="output_55" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   55 Obj.:2.476e+02 Vol.:  0.399 kktnorm.:  1.725 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="A6CF09C8" data-testid="output_56" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   56 Obj.:2.437e+02 Vol.:  0.399 kktnorm.:  1.757 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="E8ACD9D2" data-testid="output_57" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   57 Obj.:2.399e+02 Vol.:  0.399 kktnorm.:  1.747 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="366AAE14" data-testid="output_58" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   58 Obj.:2.363e+02 Vol.:  0.399 kktnorm.:  1.746 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="52FA30B0" data-testid="output_59" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   59 Obj.:2.327e+02 Vol.:  0.399 kktnorm.:  1.772 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="319C715E" data-testid="output_60" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   60 Obj.:2.291e+02 Vol.:  0.399 kktnorm.:  1.780 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="80D54EDD" data-testid="output_61" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   61 Obj.:2.256e+02 Vol.:  0.399 kktnorm.:  1.754 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="B2BCD993" data-testid="output_62" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   62 Obj.:2.221e+02 Vol.:  0.399 kktnorm.:  1.755 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="3103AB4D" data-testid="output_63" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   63 Obj.:2.190e+02 Vol.:  0.400 kktnorm.:  1.743 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="05F547E5" data-testid="output_64" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   64 Obj.:2.155e+02 Vol.:  0.400 kktnorm.:  2.534 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="CEBCA8E9" data-testid="output_65" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   65 Obj.:2.125e+02 Vol.:  0.399 kktnorm.:  2.425 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="8EACCCCB" data-testid="output_66" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   66 Obj.:2.094e+02 Vol.:  0.399 kktnorm.:  1.780 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="508BA1AA" data-testid="output_67" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   67 Obj.:2.063e+02 Vol.:  0.399 kktnorm.:  1.776 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="3C6809CB" data-testid="output_68" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   68 Obj.:2.032e+02 Vol.:  0.399 kktnorm.:  1.787 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="1CD25223" data-testid="output_69" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   69 Obj.:2.002e+02 Vol.:  0.399 kktnorm.:  1.784 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="6F112DED" data-testid="output_70" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   70 Obj.:1.974e+02 Vol.:  0.399 kktnorm.:  1.769 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="D17AA1A0" data-testid="output_71" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   71 Obj.:1.945e+02 Vol.:  0.399 kktnorm.:  1.751 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="1B827853" data-testid="output_72" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   72 Obj.:1.917e+02 Vol.:  0.399 kktnorm.:  1.766 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="3E9E23D7" data-testid="output_73" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   73 Obj.:1.889e+02 Vol.:  0.399 kktnorm.:  1.774 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="E21E54A3" data-testid="output_74" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   74 Obj.:1.862e+02 Vol.:  0.399 kktnorm.:  1.767 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="7FF5A0A9" data-testid="output_75" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   75 Obj.:1.835e+02 Vol.:  0.399 kktnorm.:  1.757 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="85BED05D" data-testid="output_76" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   76 Obj.:1.809e+02 Vol.:  0.399 kktnorm.:  1.758 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="675050B9" data-testid="output_77" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   77 Obj.:1.783e+02 Vol.:  0.399 kktnorm.:  1.756 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="DFB64823" data-testid="output_78" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   78 Obj.:1.757e+02 Vol.:  0.399 kktnorm.:  1.760 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="61D5A23E" data-testid="output_79" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   79 Obj.:1.733e+02 Vol.:  0.399 kktnorm.:  1.748 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="0AEBF508" data-testid="output_80" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   80 Obj.:1.708e+02 Vol.:  0.399 kktnorm.:  1.851 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="75D99D22" data-testid="output_81" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   81 Obj.:1.683e+02 Vol.:  0.400 kktnorm.:  1.840 ch.:  0.017</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="B5C7142A" data-testid="output_82" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   82 Obj.:1.662e+02 Vol.:  0.399 kktnorm.:  2.123 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="E70E1C25" data-testid="output_83" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   83 Obj.:1.639e+02 Vol.:  0.399 kktnorm.:  1.838 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="B0B1D11E" data-testid="output_84" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   84 Obj.:1.617e+02 Vol.:  0.399 kktnorm.:  1.722 ch.:  0.010</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C9EAE281" data-testid="output_85" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   85 Obj.:1.595e+02 Vol.:  0.399 kktnorm.:  1.726 ch.:  0.010</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="90864AFC" data-testid="output_86" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   86 Obj.:1.574e+02 Vol.:  0.399 kktnorm.:  1.729 ch.:  0.010</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="40DBA2CF" data-testid="output_87" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   87 Obj.:1.553e+02 Vol.:  0.399 kktnorm.:  1.736 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="08FB575B" data-testid="output_88" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   88 Obj.:1.532e+02 Vol.:  0.399 kktnorm.:  1.769 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="30B5F5AC" data-testid="output_89" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   89 Obj.:1.511e+02 Vol.:  0.399 kktnorm.:  1.817 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="4B74AC16" data-testid="output_90" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   90 Obj.:1.491e+02 Vol.:  0.399 kktnorm.:  1.861 ch.:  0.010</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="8DF368B9" data-testid="output_91" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   91 Obj.:1.472e+02 Vol.:  0.399 kktnorm.:  1.869 ch.:  0.010</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="9C3CEADE" data-testid="output_92" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   92 Obj.:1.452e+02 Vol.:  0.399 kktnorm.:  1.822 ch.:  0.010</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="F18995DC" data-testid="output_93" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   93 Obj.:1.434e+02 Vol.:  0.399 kktnorm.:  1.820 ch.:  0.011</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="4F5FF72F" data-testid="output_94" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   94 Obj.:1.415e+02 Vol.:  0.399 kktnorm.:  1.803 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="D90AD294" data-testid="output_95" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   95 Obj.:1.396e+02 Vol.:  0.399 kktnorm.:  1.807 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="97AE370B" data-testid="output_96" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   96 Obj.:1.379e+02 Vol.:  0.399 kktnorm.:  1.794 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="55BF2A6A" data-testid="output_97" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   97 Obj.:1.361e+02 Vol.:  0.399 kktnorm.:  1.765 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="EA23FCB8" data-testid="output_98" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   98 Obj.:1.343e+02 Vol.:  0.399 kktnorm.:  1.751 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="9D52054E" data-testid="output_99" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:   99 Obj.:1.326e+02 Vol.:  0.399 kktnorm.:  1.748 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="2FC33E4A" data-testid="output_100" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  100 Obj.:1.309e+02 Vol.:  0.399 kktnorm.:  1.735 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="84A7466B" data-testid="output_101" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  101 Obj.:1.292e+02 Vol.:  0.399 kktnorm.:  1.731 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="482C9D70" data-testid="output_102" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  102 Obj.:1.275e+02 Vol.:  0.399 kktnorm.:  1.730 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="3F98F48E" data-testid="output_103" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  103 Obj.:1.259e+02 Vol.:  0.399 kktnorm.:  1.759 ch.:  0.020</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="8879273F" data-testid="output_104" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  104 Obj.:1.244e+02 Vol.:  0.400 kktnorm.:  2.041 ch.:  0.021</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="7DA9B5D0" data-testid="output_105" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  105 Obj.:1.228e+02 Vol.:  0.402 kktnorm.:  3.422 ch.:  0.020</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="697EC540" data-testid="output_106" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  106 Obj.:1.220e+02 Vol.:  0.398 kktnorm.:  3.934 ch.:  0.018</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="EC65ED63" data-testid="output_107" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  107 Obj.:1.200e+02 Vol.:  0.399 kktnorm.:  3.828 ch.:  0.016</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="838A1E4D" data-testid="output_108" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  108 Obj.:1.185e+02 Vol.:  0.399 kktnorm.:  2.499 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="78BE3DB7" data-testid="output_109" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  109 Obj.:1.171e+02 Vol.:  0.399 kktnorm.:  2.233 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="9E7E71C2" data-testid="output_110" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  110 Obj.:1.158e+02 Vol.:  0.399 kktnorm.:  2.033 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="40D0DBA1" data-testid="output_111" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  111 Obj.:1.145e+02 Vol.:  0.399 kktnorm.:  1.893 ch.:  0.016</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="E1DEC358" data-testid="output_112" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  112 Obj.:1.132e+02 Vol.:  0.399 kktnorm.:  1.761 ch.:  0.016</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="819CB218" data-testid="output_113" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  113 Obj.:1.119e+02 Vol.:  0.399 kktnorm.:  1.644 ch.:  0.017</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="90D98AE4" data-testid="output_114" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  114 Obj.:1.106e+02 Vol.:  0.399 kktnorm.:  1.616 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="A36CFD99" data-testid="output_115" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  115 Obj.:1.094e+02 Vol.:  0.399 kktnorm.:  1.613 ch.:  0.016</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="0470F3A8" data-testid="output_116" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  116 Obj.:1.082e+02 Vol.:  0.399 kktnorm.:  1.613 ch.:  0.016</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="CEAD3544" data-testid="output_117" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  117 Obj.:1.070e+02 Vol.:  0.399 kktnorm.:  1.611 ch.:  0.016</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="180EC9BB" data-testid="output_118" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  118 Obj.:1.057e+02 Vol.:  0.399 kktnorm.:  1.604 ch.:  0.016</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="7E8CE430" data-testid="output_119" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  119 Obj.:1.045e+02 Vol.:  0.399 kktnorm.:  1.597 ch.:  0.016</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="5BABE235" data-testid="output_120" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  120 Obj.:1.033e+02 Vol.:  0.399 kktnorm.:  1.607 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="8C6ACC98" data-testid="output_121" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  121 Obj.:1.021e+02 Vol.:  0.399 kktnorm.:  1.621 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="FB51E47B" data-testid="output_122" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  122 Obj.:1.009e+02 Vol.:  0.399 kktnorm.:  1.642 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="1162F24E" data-testid="output_123" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  123 Obj.:9.973e+01 Vol.:  0.399 kktnorm.:  1.603 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C0E2F2CD" data-testid="output_124" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  124 Obj.:9.861e+01 Vol.:  0.399 kktnorm.:  1.700 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="9EA2A414" data-testid="output_125" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  125 Obj.:9.752e+01 Vol.:  0.399 kktnorm.:  1.984 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="45C37260" data-testid="output_126" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  126 Obj.:9.648e+01 Vol.:  0.399 kktnorm.:  1.686 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="0E0B6307" data-testid="output_127" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  127 Obj.:9.545e+01 Vol.:  0.399 kktnorm.:  1.674 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="8DDEFD1A" data-testid="output_128" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  128 Obj.:9.442e+01 Vol.:  0.399 kktnorm.:  1.632 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="D235F1AE" data-testid="output_129" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  129 Obj.:9.340e+01 Vol.:  0.399 kktnorm.:  1.606 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="A86C163C" data-testid="output_130" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  130 Obj.:9.244e+01 Vol.:  0.399 kktnorm.:  1.541 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="A7DFC345" data-testid="output_131" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  131 Obj.:9.167e+01 Vol.:  0.400 kktnorm.:  1.247 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="4B5370E4" data-testid="output_132" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  132 Obj.:9.118e+01 Vol.:  0.400 kktnorm.:  0.944 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="9B0F066F" data-testid="output_133" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  133 Obj.:9.074e+01 Vol.:  0.400 kktnorm.:  0.907 ch.:  0.012</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="E7E67659" data-testid="output_134" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  134 Obj.:9.031e+01 Vol.:  0.400 kktnorm.:  0.913 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="98C63A30" data-testid="output_135" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  135 Obj.:8.989e+01 Vol.:  0.400 kktnorm.:  0.898 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="6B024538" data-testid="output_136" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  136 Obj.:8.947e+01 Vol.:  0.400 kktnorm.:  0.890 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="31BAD18F" data-testid="output_137" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  137 Obj.:8.906e+01 Vol.:  0.400 kktnorm.:  0.890 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="9569B684" data-testid="output_138" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  138 Obj.:8.866e+01 Vol.:  0.400 kktnorm.:  0.863 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="4A5FAACB" data-testid="output_139" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  139 Obj.:8.828e+01 Vol.:  0.400 kktnorm.:  0.868 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="7597DFD5" data-testid="output_140" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  140 Obj.:8.789e+01 Vol.:  0.400 kktnorm.:  1.137 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="16CE49CF" data-testid="output_141" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  141 Obj.:8.750e+01 Vol.:  0.400 kktnorm.:  1.117 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="57B4B367" data-testid="output_142" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  142 Obj.:8.713e+01 Vol.:  0.400 kktnorm.:  0.863 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="F91ADF03" data-testid="output_143" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  143 Obj.:8.676e+01 Vol.:  0.400 kktnorm.:  0.881 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="2C04174A" data-testid="output_144" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  144 Obj.:8.640e+01 Vol.:  0.400 kktnorm.:  0.862 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="8293AEB9" data-testid="output_145" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  145 Obj.:8.605e+01 Vol.:  0.400 kktnorm.:  0.860 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C05E67E6" data-testid="output_146" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  146 Obj.:8.570e+01 Vol.:  0.400 kktnorm.:  0.865 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="0EED4AB7" data-testid="output_147" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  147 Obj.:8.535e+01 Vol.:  0.400 kktnorm.:  0.865 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="7F70799A" data-testid="output_148" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  148 Obj.:8.501e+01 Vol.:  0.400 kktnorm.:  0.863 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="AB3C5DC7" data-testid="output_149" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  149 Obj.:8.467e+01 Vol.:  0.400 kktnorm.:  0.861 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="D6F9C787" data-testid="output_150" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  150 Obj.:8.434e+01 Vol.:  0.400 kktnorm.:  0.855 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="9B457534" data-testid="output_151" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  151 Obj.:8.400e+01 Vol.:  0.400 kktnorm.:  0.845 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="EEFA6CDC" data-testid="output_152" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  152 Obj.:8.367e+01 Vol.:  0.400 kktnorm.:  0.842 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="CFF98EFC" data-testid="output_153" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  153 Obj.:8.335e+01 Vol.:  0.400 kktnorm.:  0.831 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="328FBE9B" data-testid="output_154" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  154 Obj.:8.302e+01 Vol.:  0.400 kktnorm.:  0.811 ch.:  0.016</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="5E18A55D" data-testid="output_155" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  155 Obj.:8.271e+01 Vol.:  0.400 kktnorm.:  0.802 ch.:  0.016</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="6E404B0D" data-testid="output_156" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  156 Obj.:8.240e+01 Vol.:  0.400 kktnorm.:  0.894 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="0D1D5C81" data-testid="output_157" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  157 Obj.:8.208e+01 Vol.:  0.400 kktnorm.:  0.834 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="3C4AB988" data-testid="output_158" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  158 Obj.:8.178e+01 Vol.:  0.400 kktnorm.:  0.792 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="6078C046" data-testid="output_159" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  159 Obj.:8.148e+01 Vol.:  0.400 kktnorm.:  0.801 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="AFB40321" data-testid="output_160" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  160 Obj.:8.118e+01 Vol.:  0.400 kktnorm.:  0.773 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="A4D8059E" data-testid="output_161" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  161 Obj.:8.090e+01 Vol.:  0.400 kktnorm.:  0.785 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="CB745E94" data-testid="output_162" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  162 Obj.:8.061e+01 Vol.:  0.400 kktnorm.:  0.742 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="B4175CF2" data-testid="output_163" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  163 Obj.:8.033e+01 Vol.:  0.400 kktnorm.:  0.808 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="A43432FD" data-testid="output_164" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  164 Obj.:8.005e+01 Vol.:  0.400 kktnorm.:  0.723 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="FE45F525" data-testid="output_165" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  165 Obj.:7.978e+01 Vol.:  0.400 kktnorm.:  0.835 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="093DAE96" data-testid="output_166" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  166 Obj.:7.948e+01 Vol.:  0.400 kktnorm.:  0.725 ch.:  0.015</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="81D75B08" data-testid="output_167" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  167 Obj.:7.920e+01 Vol.:  0.400 kktnorm.:  1.198 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="3671EE45" data-testid="output_168" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  168 Obj.:7.895e+01 Vol.:  0.400 kktnorm.:  0.742 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="13557248" data-testid="output_169" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  169 Obj.:7.871e+01 Vol.:  0.400 kktnorm.:  0.741 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="7980D73E" data-testid="output_170" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  170 Obj.:7.853e+01 Vol.:  0.400 kktnorm.:  0.751 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="31BFEB86" data-testid="output_171" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  171 Obj.:7.838e+01 Vol.:  0.400 kktnorm.:  0.696 ch.:  0.014</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="0F6074BB" data-testid="output_172" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  172 Obj.:7.823e+01 Vol.:  0.400 kktnorm.:  0.714 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="E7D526C8" data-testid="output_173" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  173 Obj.:7.808e+01 Vol.:  0.400 kktnorm.:  0.694 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="EA185AB3" data-testid="output_174" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  174 Obj.:7.792e+01 Vol.:  0.400 kktnorm.:  0.651 ch.:  0.013</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="6C03D631" data-testid="output_175" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  175 Obj.:7.777e+01 Vol.:  0.400 kktnorm.:  0.599 ch.:  0.010</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C9875947" data-testid="output_176" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  176 Obj.:7.761e+01 Vol.:  0.400 kktnorm.:  0.573 ch.:  0.007</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="F6DFFDFC" data-testid="output_177" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  177 Obj.:7.746e+01 Vol.:  0.400 kktnorm.:  0.545 ch.:  0.007</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="77E17E62" data-testid="output_178" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  178 Obj.:7.730e+01 Vol.:  0.400 kktnorm.:  0.565 ch.:  0.007</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="23E2E061" data-testid="output_179" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  179 Obj.:7.714e+01 Vol.:  0.400 kktnorm.:  0.544 ch.:  0.008</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="76D35111" data-testid="output_180" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  180 Obj.:7.699e+01 Vol.:  0.400 kktnorm.:  0.545 ch.:  0.008</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="11B269EF" data-testid="output_181" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  181 Obj.:7.686e+01 Vol.:  0.400 kktnorm.:  0.536 ch.:  0.007</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="8CFC2135" data-testid="output_182" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  182 Obj.:7.680e+01 Vol.:  0.400 kktnorm.:  0.457 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="F8800641" data-testid="output_183" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  183 Obj.:7.675e+01 Vol.:  0.400 kktnorm.:  0.448 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="37B76A03" data-testid="output_184" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  184 Obj.:7.670e+01 Vol.:  0.400 kktnorm.:  0.294 ch.:  0.006</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C8F4F2C0" data-testid="output_185" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  185 Obj.:7.665e+01 Vol.:  0.400 kktnorm.:  0.753 ch.:  0.006</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="3E62C5E0" data-testid="output_186" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  186 Obj.:7.661e+01 Vol.:  0.400 kktnorm.:  0.350 ch.:  0.006</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="F530AAB7" data-testid="output_187" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  187 Obj.:7.657e+01 Vol.:  0.400 kktnorm.:  0.457 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="5473C69F" data-testid="output_188" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  188 Obj.:7.653e+01 Vol.:  0.400 kktnorm.:  0.304 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C937AE96" data-testid="output_189" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  189 Obj.:7.649e+01 Vol.:  0.400 kktnorm.:  0.301 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="3C03D767" data-testid="output_190" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  190 Obj.:7.645e+01 Vol.:  0.400 kktnorm.:  0.298 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="08838AE2" data-testid="output_191" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  191 Obj.:7.641e+01 Vol.:  0.400 kktnorm.:  0.301 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="42C471C9" data-testid="output_192" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  192 Obj.:7.637e+01 Vol.:  0.400 kktnorm.:  0.303 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="4C900102" data-testid="output_193" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  193 Obj.:7.633e+01 Vol.:  0.400 kktnorm.:  0.294 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="89AE7DE6" data-testid="output_194" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  194 Obj.:7.630e+01 Vol.:  0.400 kktnorm.:  0.290 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="9D7059C0" data-testid="output_195" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  195 Obj.:7.626e+01 Vol.:  0.400 kktnorm.:  0.292 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="504636DB" data-testid="output_196" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  196 Obj.:7.622e+01 Vol.:  0.400 kktnorm.:  0.279 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C147B9FE" data-testid="output_197" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  197 Obj.:7.618e+01 Vol.:  0.400 kktnorm.:  0.284 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="F1409106" data-testid="output_198" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  198 Obj.:7.614e+01 Vol.:  0.400 kktnorm.:  0.249 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="D1713EEA" data-testid="output_199" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  199 Obj.:7.610e+01 Vol.:  0.400 kktnorm.:  0.307 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="32E8CEAA" data-testid="output_200" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  200 Obj.:7.607e+01 Vol.:  0.400 kktnorm.:  0.426 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="A170BFF7" data-testid="output_201" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  201 Obj.:7.603e+01 Vol.:  0.400 kktnorm.:  0.408 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="AC08C679" data-testid="output_202" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  202 Obj.:7.600e+01 Vol.:  0.400 kktnorm.:  0.314 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="6BBD1F7F" data-testid="output_203" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  203 Obj.:7.597e+01 Vol.:  0.400 kktnorm.:  0.349 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C4235E00" data-testid="output_204" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  204 Obj.:7.594e+01 Vol.:  0.400 kktnorm.:  0.289 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="A34AED1E" data-testid="output_205" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  205 Obj.:7.590e+01 Vol.:  0.400 kktnorm.:  0.292 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="E0EABCAE" data-testid="output_206" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  206 Obj.:7.587e+01 Vol.:  0.400 kktnorm.:  0.279 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="24C58311" data-testid="output_207" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  207 Obj.:7.584e+01 Vol.:  0.400 kktnorm.:  0.266 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C504E7FB" data-testid="output_208" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  208 Obj.:7.581e+01 Vol.:  0.400 kktnorm.:  0.248 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="CA777EDC" data-testid="output_209" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  209 Obj.:7.578e+01 Vol.:  0.400 kktnorm.:  0.238 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="5F55F1D8" data-testid="output_210" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  210 Obj.:7.575e+01 Vol.:  0.400 kktnorm.:  0.228 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="DD17D674" data-testid="output_211" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  211 Obj.:7.572e+01 Vol.:  0.400 kktnorm.:  0.221 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="D2C00573" data-testid="output_212" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  212 Obj.:7.569e+01 Vol.:  0.400 kktnorm.:  0.212 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="4AD38A06" data-testid="output_213" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  213 Obj.:7.566e+01 Vol.:  0.400 kktnorm.:  0.206 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="5807CCEF" data-testid="output_214" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  214 Obj.:7.563e+01 Vol.:  0.400 kktnorm.:  0.201 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="2F159D9B" data-testid="output_215" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  215 Obj.:7.560e+01 Vol.:  0.400 kktnorm.:  0.216 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="3A7180C0" data-testid="output_216" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  216 Obj.:7.556e+01 Vol.:  0.400 kktnorm.:  0.378 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C1BC4E4B" data-testid="output_217" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  217 Obj.:7.554e+01 Vol.:  0.400 kktnorm.:  0.695 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="7B1650B3" data-testid="output_218" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  218 Obj.:7.551e+01 Vol.:  0.400 kktnorm.:  0.478 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="A9DE60E9" data-testid="output_219" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  219 Obj.:7.548e+01 Vol.:  0.400 kktnorm.:  0.328 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="FF76671E" data-testid="output_220" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  220 Obj.:7.546e+01 Vol.:  0.400 kktnorm.:  0.318 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C71F30C4" data-testid="output_221" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  221 Obj.:7.543e+01 Vol.:  0.400 kktnorm.:  0.312 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="28C4DC3D" data-testid="output_222" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  222 Obj.:7.540e+01 Vol.:  0.400 kktnorm.:  0.301 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="373990CC" data-testid="output_223" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  223 Obj.:7.537e+01 Vol.:  0.400 kktnorm.:  0.287 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="291E0151" data-testid="output_224" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  224 Obj.:7.535e+01 Vol.:  0.400 kktnorm.:  0.269 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="4D5FC5F0" data-testid="output_225" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  225 Obj.:7.532e+01 Vol.:  0.400 kktnorm.:  0.252 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="24F92FA4" data-testid="output_226" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  226 Obj.:7.529e+01 Vol.:  0.400 kktnorm.:  0.238 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="408D7DB3" data-testid="output_227" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  227 Obj.:7.526e+01 Vol.:  0.400 kktnorm.:  0.227 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="336A3E70" data-testid="output_228" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  228 Obj.:7.524e+01 Vol.:  0.400 kktnorm.:  0.218 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="EC90582E" data-testid="output_229" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  229 Obj.:7.521e+01 Vol.:  0.400 kktnorm.:  0.212 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="0C27276E" data-testid="output_230" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  230 Obj.:7.518e+01 Vol.:  0.400 kktnorm.:  0.210 ch.:  0.004</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="332B587D" data-testid="output_231" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  231 Obj.:7.516e+01 Vol.:  0.400 kktnorm.:  0.201 ch.:  0.003</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="A22154E3" data-testid="output_232" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  232 Obj.:7.515e+01 Vol.:  0.400 kktnorm.:  0.198 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="47DAAD97" data-testid="output_233" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  233 Obj.:7.515e+01 Vol.:  0.400 kktnorm.:  0.176 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="22711444" data-testid="output_234" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  234 Obj.:7.514e+01 Vol.:  0.400 kktnorm.:  0.170 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="3834B610" data-testid="output_235" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  235 Obj.:7.509e+01 Vol.:  0.400 kktnorm.:  0.151 ch.:  0.005</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="5574DEC0" data-testid="output_236" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  236 Obj.:7.508e+01 Vol.:  0.400 kktnorm.:  0.236 ch.:  0.006</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="DED6BF4A" data-testid="output_237" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  237 Obj.:7.512e+01 Vol.:  0.400 kktnorm.:  0.252 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="250BB022" data-testid="output_238" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  238 Obj.:7.512e+01 Vol.:  0.400 kktnorm.:  0.273 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="53D7F09B" data-testid="output_239" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  239 Obj.:7.511e+01 Vol.:  0.400 kktnorm.:  0.259 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="30AEDE35" data-testid="output_240" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  240 Obj.:7.511e+01 Vol.:  0.400 kktnorm.:  0.244 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="8005D513" data-testid="output_241" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  241 Obj.:7.511e+01 Vol.:  0.400 kktnorm.:  0.232 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="067CA56F" data-testid="output_242" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  242 Obj.:7.510e+01 Vol.:  0.400 kktnorm.:  0.212 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="192DA5A5" data-testid="output_243" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  243 Obj.:7.510e+01 Vol.:  0.400 kktnorm.:  0.200 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="A6984B76" data-testid="output_244" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  244 Obj.:7.510e+01 Vol.:  0.400 kktnorm.:  0.183 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="086912E8" data-testid="output_245" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  245 Obj.:7.509e+01 Vol.:  0.400 kktnorm.:  0.188 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="2C3FAC4E" data-testid="output_246" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  246 Obj.:7.509e+01 Vol.:  0.400 kktnorm.:  0.191 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="CAF49D64" data-testid="output_247" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  247 Obj.:7.508e+01 Vol.:  0.400 kktnorm.:  0.199 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="E55969B5" data-testid="output_248" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  248 Obj.:7.507e+01 Vol.:  0.400 kktnorm.:  0.212 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="55B6D878" data-testid="output_249" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  249 Obj.:7.507e+01 Vol.:  0.400 kktnorm.:  0.214 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="36C6E70E" data-testid="output_250" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  250 Obj.:7.506e+01 Vol.:  0.400 kktnorm.:  0.244 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="22A3EAF5" data-testid="output_251" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  251 Obj.:7.506e+01 Vol.:  0.400 kktnorm.:  0.211 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="220F63C8" data-testid="output_252" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  252 Obj.:7.506e+01 Vol.:  0.400 kktnorm.:  0.183 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="5244E1F3" data-testid="output_253" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  253 Obj.:7.505e+01 Vol.:  0.400 kktnorm.:  0.214 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="2CF027E0" data-testid="output_254" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  254 Obj.:7.505e+01 Vol.:  0.400 kktnorm.:  0.163 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="F85F19B3" data-testid="output_255" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  255 Obj.:7.505e+01 Vol.:  0.400 kktnorm.:  0.152 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="21041FFB" data-testid="output_256" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  256 Obj.:7.505e+01 Vol.:  0.400 kktnorm.:  0.169 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="17091433" data-testid="output_257" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  257 Obj.:7.505e+01 Vol.:  0.400 kktnorm.:  0.161 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="3BA994BD" data-testid="output_258" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  258 Obj.:7.504e+01 Vol.:  0.400 kktnorm.:  0.155 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="4BEA6755" data-testid="output_259" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  259 Obj.:7.504e+01 Vol.:  0.400 kktnorm.:  0.151 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="405142CA" data-testid="output_260" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  260 Obj.:7.504e+01 Vol.:  0.400 kktnorm.:  0.148 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="DC321317" data-testid="output_261" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  261 Obj.:7.504e+01 Vol.:  0.400 kktnorm.:  0.147 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="FE2DFBF9" data-testid="output_262" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  262 Obj.:7.504e+01 Vol.:  0.400 kktnorm.:  0.142 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="49BD5C55" data-testid="output_263" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  263 Obj.:7.504e+01 Vol.:  0.400 kktnorm.:  0.137 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="F18DE911" data-testid="output_264" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  264 Obj.:7.504e+01 Vol.:  0.400 kktnorm.:  0.127 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="7326C4ED" data-testid="output_265" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  265 Obj.:7.503e+01 Vol.:  0.400 kktnorm.:  0.118 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="5A86CCBF" data-testid="output_266" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  266 Obj.:7.503e+01 Vol.:  0.400 kktnorm.:  0.108 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="29784AB7" data-testid="output_267" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  267 Obj.:7.503e+01 Vol.:  0.400 kktnorm.:  0.103 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="752D1A99" data-testid="output_268" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  268 Obj.:7.503e+01 Vol.:  0.400 kktnorm.:  0.095 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="7EC7B8B7" data-testid="output_269" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  269 Obj.:7.503e+01 Vol.:  0.400 kktnorm.:  0.098 ch.:  0.002</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C982CD1E" data-testid="output_270" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  270 Obj.:7.503e+01 Vol.:  0.400 kktnorm.:  0.103 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="B1081D96" data-testid="output_271" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  271 Obj.:7.503e+01 Vol.:  0.400 kktnorm.:  0.172 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="2817D61B" data-testid="output_272" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  272 Obj.:7.503e+01 Vol.:  0.400 kktnorm.:  0.212 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="CD02B685" data-testid="output_273" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  273 Obj.:7.503e+01 Vol.:  0.400 kktnorm.:  0.129 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="CABB3F46" data-testid="output_274" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  274 Obj.:7.502e+01 Vol.:  0.400 kktnorm.:  0.184 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsTextElement" uid="C9E43C06" data-testid="output_275" data-width="1726" data-height="18" data-hashorizontaloverflow="false" style="width: 1756px; max-height: 261px;"><div class="textElement"> It.:  275 Obj.:7.502e+01 Vol.:  0.400 kktnorm.:  0.099 ch.:  0.001</div></div><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="DD1EB947" data-testid="output_276" style="width: 1756px;"><div class="figureElement"><img class="figureImage figureContainingNode" src=""></div></div></div></div><div class="inlineWrapper"><div  class = 'S11'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">% Make the plot of the solution</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">% convergence plot</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>figure(3)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>subplot(2,1,1)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>plot(1:outit,cvec(1:outit),</span><span style="color: rgb(160, 32, 240);">'bo'</span><span>,</span><span style="color: rgb(160, 32, 240);">'MarkerFaceColor'</span><span>,</span><span style="color: rgb(160, 32, 240);">'b'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>grid </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>hold </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>scatter(outit,c,</span><span style="color: rgb(160, 32, 240);">'k'</span><span>,</span><span style="color: rgb(160, 32, 240);">'fill'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>hold </span><span style="color: rgb(160, 32, 240);">off</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>text(outit,c,[</span><span style="color: rgb(160, 32, 240);">'C ='</span><span>,num2str(c,</span><span style="color: rgb(160, 32, 240);">'%4.2f'</span><span>),</span><span style="color: rgb(160, 32, 240);">' at iteration '</span><span>, num2str(outit)],</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(160, 32, 240);">'VerticalAlignment'</span><span>,</span><span style="color: rgb(160, 32, 240);">'bottom'</span><span>,</span><span style="color: rgb(160, 32, 240);">'HorizontalAlignment'</span><span>,</span><span style="color: rgb(160, 32, 240);">'right'</span><span>,</span><span style="color: rgb(160, 32, 240);">'FontSize'</span><span>,24,</span><span style="color: rgb(160, 32, 240);">'FontWeight'</span><span>,</span><span style="color: rgb(160, 32, 240);">'bold'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>xlabel(</span><span style="color: rgb(160, 32, 240);">'iter'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>ylabel(</span><span style="color: rgb(160, 32, 240);">'C'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>subplot(2,1,2)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>plot(1:outit,vvec(1:outit)*100,</span><span style="color: rgb(160, 32, 240);">'ro'</span><span>,</span><span style="color: rgb(160, 32, 240);">'MarkerFaceColor'</span><span>,</span><span style="color: rgb(160, 32, 240);">'r'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>grid </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>hold </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>scatter(outit,mean(xPhys(:))*100,</span><span style="color: rgb(160, 32, 240);">'k'</span><span>,</span><span style="color: rgb(160, 32, 240);">'fill'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>hold </span><span style="color: rgb(160, 32, 240);">off</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>text(outit,mean(xPhys(:))*100,[</span><span style="color: rgb(160, 32, 240);">'V = '</span><span>,num2str(mean(xPhys(:))*100,</span><span style="color: rgb(160, 32, 240);">'%4.2f'</span><span>),</span><span style="color: rgb(160, 32, 240);">'% at iteration '</span><span>, num2str(outit)],</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(160, 32, 240);">'VerticalAlignment'</span><span>,</span><span style="color: rgb(160, 32, 240);">'bottom'</span><span>,</span><span style="color: rgb(160, 32, 240);">'HorizontalAlignment'</span><span>,</span><span style="color: rgb(160, 32, 240);">'right'</span><span>,</span><span style="color: rgb(160, 32, 240);">'FontSize'</span><span>,24,</span><span style="color: rgb(160, 32, 240);">'FontWeight'</span><span>,</span><span style="color: rgb(160, 32, 240);">'bold'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>xlabel(</span><span style="color: rgb(160, 32, 240);">'iter'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>ylabel(</span><span style="color: rgb(160, 32, 240);">'V [%]'</span><span>)</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S7'><span style="white-space: pre;"><span>print([Path,image_prefix,</span><span style="color: rgb(160, 32, 240);">'convergence'</span><span>],</span><span style="color: rgb(160, 32, 240);">'-dpng'</span><span>)</span></span></div><div  class = 'S8'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="2AE3A6CB" data-testid="output_277" style="width: 1756px;"><div class="figureElement"><img class="figureImage figureContainingNode" src=""></div></div></div></div><div class="inlineWrapper"><div  class = 'S11'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%% PLOT DENSITIES</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>figure(1)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>map=colormap(gray);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>map=map(end:-1:1,:);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>caxis([0 1])</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>patchplot2 = patch(</span><span style="color: rgb(160, 32, 240);">'Vertices'</span><span>,[Xx,Yy],</span><span style="color: rgb(160, 32, 240);">'Faces'</span><span>,edofMat(:,[2,4,6,8])/2,</span><span style="color: rgb(160, 32, 240);">'FaceVertexCData'</span><span>,(1-xPhys(:))*[1 1 1],</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    </span><span style="color: rgb(160, 32, 240);">'FaceColor'</span><span>,</span><span style="color: rgb(160, 32, 240);">'flat'</span><span>,</span><span style="color: rgb(160, 32, 240);">'EdgeColor'</span><span>,</span><span style="color: rgb(160, 32, 240);">'none'</span><span>); axis </span><span style="color: rgb(160, 32, 240);">equal</span><span>; axis </span><span style="color: rgb(160, 32, 240);">off</span><span>; hold </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>hold </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>fill([min(Xx),max(Xx),max(Xx),min(Xx)],[min(Yy),min(Yy),max(Yy),max(Yy)],</span><span style="color: rgb(160, 32, 240);">'w'</span><span>,</span><span style="color: rgb(160, 32, 240);">'FaceAlpha'</span><span>,0.)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>scatter(Xx(fixednodes(fixed_dir==1)),Yy(fixednodes(fixed_dir==1)),</span><span style="color: rgb(160, 32, 240);">'&gt;b'</span><span>,</span><span style="color: rgb(160, 32, 240);">'filled'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>scatter(Xx(fixednodes(fixed_dir==2)),Yy(fixednodes(fixed_dir==2)),</span><span style="color: rgb(160, 32, 240);">'^b'</span><span>,</span><span style="color: rgb(160, 32, 240);">'filled'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>scal=10;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>quiver(Xx(excitation_node),Yy(excitation_node)+scal*(excitation_direction==2),excitation_direction==1,</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    -(excitation_direction==2), scal,</span><span style="color: rgb(160, 32, 240);">'r'</span><span>,</span><span style="color: rgb(160, 32, 240);">'Linewidth'</span><span>,2)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>colormap(map)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>colorbar</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>drawnow</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>hold </span><span style="color: rgb(160, 32, 240);">off</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>axis([min(Xx),max(Xx),min(Yy),max(Yy)])</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S7'><span style="white-space: pre;"><span>print([Path,</span><span style="color: rgb(160, 32, 240);">'density_'</span><span>,num2str(outit-1,</span><span style="color: rgb(160, 32, 240);">'%03d'</span><span>)],</span><span style="color: rgb(160, 32, 240);">'-dpng'</span><span>)</span></span></div><div  class = 'S8'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="1A453C9F" data-testid="output_278" style="width: 1756px;"><div class="figureElement"><img class="figureImage figureContainingNode" src=""></div></div></div></div><div class="inlineWrapper"><div  class = 'S11'><span style="white-space: pre;"><span style="color: rgb(34, 139, 34);">%% Component Plot</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>figure(2)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Xc=Xg(1:6:end);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Yc=Xg(2:6:end);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Lc=Xg(3:6:end);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>hc=Xg(4:6:end);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Tc=Xg(5:6:end) ;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Mc=Xg(6:6:end) ;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>C0=repmat(cos(Tc),1,size(cc,2));S0=repmat(sin(Tc),1,size(cc,2));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>xxx=repmat(Xc(:),1,size(cc,2))+cc;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>yyy=repmat(Yc(:),1,size(cc,2))+ss;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>xi=C0.*(xxx-Xc)+S0.*(yyy-Yc);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Eta=-S0.*(xxx-Xc)+C0.*(yyy-Yc);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>[dd]=norato_bar(xi,Eta,repmat(Lc(:),1,size(cc,2)),repmat(hc(:),1,size(cc,2)));</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>xn=repmat(Xc,1,size(cc,2))+dd.*cc;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>yn=repmat(Yc,1,size(cc,2))+dd.*ss;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>tolshow=0.1;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>Shown_compo=find(Mc&gt;tolshow);</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>fill([min(Xx),max(Xx),max(Xx),min(Xx)],[min(Yy),min(Yy),max(Yy),max(Yy)],</span><span style="color: rgb(160, 32, 240);">'w'</span><span>,</span><span style="color: rgb(160, 32, 240);">'FaceAlpha'</span><span>,0.)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>hold </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>fill(xn(Shown_compo,:)',yn(Shown_compo,:)',Mc(Shown_compo),</span><span style="color: rgb(160, 32, 240);">'FaceAlpha'</span><span>,0.5)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(0, 0, 255);">if </span><span>strcmp(BC,</span><span style="color: rgb(160, 32, 240);">'L-shape'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    fill([fix((min(Xx)+max(Xx))/2),max(Xx),max(Xx),fix((min(Xx)+max(Xx))/2)],</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>        [fix((min(Yy)+max(Yy))/2),fix((min(Yy)+max(Yy))/2),max(Yy),max(Yy)],</span><span style="color: rgb(160, 32, 240);">'w'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span style="color: rgb(0, 0, 255);">end</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>caxis([0,1])</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>colormap </span><span style="color: rgb(160, 32, 240);">'jet'</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>axis </span><span style="color: rgb(160, 32, 240);">equal</span><span>; axis </span><span style="color: rgb(160, 32, 240);">off</span><span>;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>hold </span><span style="color: rgb(160, 32, 240);">on</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>scatter(Xx(fixednodes(fixed_dir==1)),Yy(fixednodes(fixed_dir==1)),</span><span style="color: rgb(160, 32, 240);">'&gt;b'</span><span>,</span><span style="color: rgb(160, 32, 240);">'filled'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>scatter(Xx(fixednodes(fixed_dir==2)),Yy(fixednodes(fixed_dir==2)),</span><span style="color: rgb(160, 32, 240);">'^b'</span><span>,</span><span style="color: rgb(160, 32, 240);">'filled'</span><span>)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>scal=10;</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>quiver(Xx(excitation_node),Yy(excitation_node)+scal*(excitation_direction==2),excitation_direction==1,</span><span style="color: rgb(0, 0, 255);">...</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>    -(excitation_direction==2),scal,</span><span style="color: rgb(160, 32, 240);">'r'</span><span>,</span><span style="color: rgb(160, 32, 240);">'Linewidth'</span><span>,2)</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>colorbar</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>axis([min(Xx),max(Xx),min(Yy),max(Yy)])</span></span></div></div><div class="inlineWrapper"><div  class = 'S4'><span style="white-space: pre;"><span>print([Path,</span><span style="color: rgb(160, 32, 240);">'component_'</span><span>,num2str(outit-1,</span><span style="color: rgb(160, 32, 240);">'%03d'</span><span>)],</span><span style="color: rgb(160, 32, 240);">'-dpng'</span><span>)</span></span></div></div><div class="inlineWrapper outputs"><div  class = 'S7'><span style="white-space: pre;"><span>hold </span><span style="color: rgb(160, 32, 240);">off</span></span></div><div  class = 'S8'><div class="inlineElement eoOutputWrapper embeddedOutputsFigure" uid="61570E1E" data-testid="output_279" style="width: 1756px;"><div class="figureElement"><img class="figureImage figureContainingNode" src=""></div></div></div></div></div></div><br>
<!-- 
##### SOURCE BEGIN #####
%% Generalized Geometry Projection
% Author Simone Coniglio, 12/09/2019
% 
% This is an introduction to a Matlab implementation of Generalized Geometry 
% Projection approach for topology optimization.
% 
% In this approach geometric primitives are projected on a Finite Element 
% Mesh and assembled together to build the solution. 
%% Problem set-up
% In this section of the Matlab code we define several *parameters* needed for 
% the *Generalized Geometry Projection*.

%REPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASHREPLACE_WITH_DASH_DASH-
%    This is the file GGP.html you can redistribute it and/or
%    modify it under the terms of the GNU General Public License as 
%    published by the Free Software Foundation; either version 3 of 
%    the License, or (at your option) any later version.
%    
%    This code is distributed in the hope that it will be useful,
%    but WITHOUT ANY WARRANTY; without even the implied warranty of
%    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%    GNU General Public License for more details.
%    
%    You should have received a copy of the GNU General Public License
%    (file COPYING) along with this file.  If not, see 
%    <http://www.gnu.org/licenses/>.
%
%    Version Nov 2019.
%    Simone Coniglio <simone.coniglio@airbus.com>
%    Propulsion Airframe Stress Transverse,
%    31300 Toulouse, France.
%
% GGP parameters
stopping_criteria='change'; %stopping criteria of the optimization algorithm either change or KKT norm
nelx=60;nely=30; 
BC='Short_Cantilever';%L-shape %Short_Cantilever%MBB
p.method='GP';%MMC%MNA %GP this change the function employed for the evaluation of local volume fraction
q=1;%q=1
p.zp=1 ;% parameter for p-norm/mean regularization
p.alp=1; %parameter for MMC
p.epsi=0.866;% parameter for MMC
p.bet=1e-3; %parameter for MMC
p.deltamin=1e-6; %parameter for GP
p.r=.5;%parameter for GP
minh=1;% minimal bar thickness
p.sigma=1;%parameter for MNA
p.gammav=1;%parameter for GP
p.gammac=3;%parameter for GP
p.penalty=3;%parameter for MNA
p.aggregation='KSl'; %parameter for the aggregation function to be used
% IE= Induced Exponential % KS= KS function %KSl= lowerbound KS function
% p-norm %p-mean
p.ka=10; % parameter for the aggregation constant
p.saturation=true; % switch for saturation
ncx=1; % number of components in the x direction
ncy=1; % number of components in the y direction
Ngp=2; % number of Gauss point per sampling window
R=0.5; % radius of the sampling window (infty norm)
initial_d=0.5; % initial mass variable adopted for MNA and GP
%% 
% Generate a *folder* and a prefix to save images *optimization history*:

rs=replace(num2str(R,'%3.2f'),'.','_');
folder_name=['Optimization_history_',BC,p.method,'nelx_',num2str(nelx),...
    'nely_',num2str(nely),'_R_',rs,'_Ngp_',num2str(Ngp),'_SC_',stopping_criteria];
image_prefix=[BC,p.method,'nelx_',num2str(nelx),'nely_',num2str(nely),'_R_',rs,'_Ngp_',num2str(Ngp)];
mkdir(folder_name)
Path=[folder_name,'/'];
%% 
% Define *Material properties*:

% MATERIAL PROPERTIES
p.E0 = 1;
p.Emin = 1e-6;
nu = 0.3;
%% 
% Prepare *finite element analysis*

% PREPARE FINITE ELEMENT ANALYSIS
A11 = [12  3 -6 -3;  3 12  3  0; -6  3 12 -3; -3  0 -3 12];
A12 = [-6 -3  0  3; -3 -6 -3 -6;  0 -3 -6  3;  3 -6  3 -6];
B11 = [-4  3 -2  9;  3 -4 -9  4; -2 -9 -4 -3;  9  4 -3 -4];
B12 = [ 2 -3  4 -9; -3  2  9 -2;  4  9  2  3; -9 -2  3  2];
KE = 1/(1-nu^2)/24*([A11 A12;A12' A11]+nu*[B11 B12;B12' B11]);
nodenrs = reshape(1:(1+nelx)*(1+nely),1+nely,1+nelx);
edofVec = reshape(2*nodenrs(1:end-1,1:end-1)+1,nelx*nely,1);
edofMat = repmat(edofVec,1,8)+repmat([0 1 2*nely+[2 3 0 1] -2 -1],nelx*nely,1);
iK = reshape(kron(edofMat,ones(8,1))',64*nelx*nely,1);
jK = reshape(kron(edofMat,ones(1,8))',64*nelx*nely,1);
U = zeros(2*(nely+1)*(nelx+1),1);
%define the nodal coordinates
[Yy,Xx]=find(nodenrs);
Yy=nely+1-Yy;
Xx=Xx-1;
% Element connectivity
enodeMat=edofMat(:,[2,4,6,8])/2;
% DEFINE LOADS AND SUPPORTS 
switch BC
    case 'MBB'
        excitation_node=1;excitation_direction=2;
        amplitude=-1;
        F = sparse(2*(excitation_node-1)+excitation_direction,1,amplitude,2*(nely+1)*(nelx+1),1);
        fixednodes=[find(Xx==min(Xx));(nelx+1)*(nely+1)];fixed_dir=[ones(nely+1,1);2];
        fixeddofs=2*(fixednodes-1)+fixed_dir;
        emptyelts=[]; fullelts = [];
    case 'Short_Cantilever'
        excitation_node=find((Xx==max(Xx))&(Yy==fix(0.5*min(Yy)+0.5*max(Yy))));excitation_direction=2;
        amplitude=-1;
        F = sparse(2*(excitation_node-1)+excitation_direction,1,amplitude,2*(nely+1)*(nelx+1),1);
        fixednodes=repmat(find(Xx==min(Xx)),2,1);fixed_dir=[ones(nely+1,1);2*ones(nely+1,1)];
        fixeddofs=2*(fixednodes-1)+fixed_dir(:);
        emptyelts=[]; fullelts = [];
    case 'L-shape'
        excitation_node=find((Xx==max(Xx))&(Yy==fix(0.5*min(Yy)+0.5*max(Yy))));excitation_direction=2;
        amplitude=-1;
        F = sparse(2*(excitation_node-1)+excitation_direction,1,amplitude,2*(nely+1)*(nelx+1),1);
        fixednodes=repmat(find(Yy==max(Yy)),2,1);fixed_dir=[ones(nelx+1,1),2*ones(nelx+1,1)];
        fixeddofs=2*(fixednodes-1)+fixed_dir(:);
        emptyelts=find(xc>=(((max(Xx)+min(Xx))/2))&(yc>=((max(Yy)+min(Yy))/2)));
        fullelts = [];
    otherwise
        error('BC string should be a valid entry: ''MBB'',''L-Shape'',''Short_Cantilever''')
end
alldofs = [1:2*(nely+1)*(nelx+1)];
freedofs = setdiff(alldofs,fixeddofs);
%% Prepare the *Generalized Geometry Projection:*
% Compute the element centroid coordinates:

xc=mean(Xx(enodeMat'));
yc=mean(Yy(enodeMat'));
centroid_coordinate=[xc(:),yc(:)];
%% 
% Compute *Gauss point coordinates and weights *in a squared sampling window 
% $[2R\times2R]$ centred in the origin

a=-R;
b=R;
[gpc,wc]=lgwt(Ngp,a,b);
[gpcx,gpcy]=meshgrid(gpc,gpc);
gauss_weight=wc*wc';
%% 
% Repeat the value ones for each element in the mesh

gpcx=reshape((repmat(gpcx(:),1,size(centroid_coordinate,1)))',[],1);
gpcy=reshape((repmat(gpcy(:),1,size(centroid_coordinate,1)))',[],1);
gauss_weight=reshape((repmat(gauss_weight(:),1,size(centroid_coordinate,1)))',[],1);
%% 
% translate the sampling window Gauss points of the element centroid coordinates

cc=repmat(centroid_coordinate,Ngp^2,1);
gauss_point=cc+[gpcx,gpcy];
%% 
% Avoid to evaluate repeated value of sampling window gauss point coordinates:

[ugp,~,idgp]=unique(gauss_point,'rows');
%% Initialize design variable vector:
% The initial design is composed of couples of crossed components regularly 
% disposed in the mesh. 

xp=linspace(min(Xx),max(Xx),ncx+2);
yp=linspace(min(Yy),max(Yy),ncy+2); 
[xx,yy]=meshgrid(xp,yp);
Xc=repmat(xx(:),2,1); %component center X
Yc=repmat(yy(:),2,1); %component center Y
Lc=2*sqrt((nelx/(ncx+2))^2+(nely/(ncy+2))^2)*ones(size(Xc)); %component length L
Tc=atan2(nely/ncy,nelx/ncx)*[ones(length(Xc)/2,1);-ones(length(Xc)/2,1)];% component orientation angle tetha
hc=2*ones(length(Xc),1); % component h
Mc=initial_d*ones(size(Xc)); % component mass (For MNA and GP)
Xg=reshape([Xc,Yc,Lc,hc,Tc,Mc]',[],1);
%% Build upper and lower bounds of the design problem

Xl=min(Xx-1)*ones(size(Xc));Xu=max(Xx+1)*ones(size(Xc));
Yl=min(Yy-1)*ones(size(Xc));Yu=max(Yy+1)*ones(size(Xc));
Ll=0*ones(size(Xc));Lu=sqrt(nelx^2+nely^2)*ones(size(Xc));
hl=minh*ones(size(Xc));hu=sqrt(nelx^2+nely^2)*ones(size(Xc));
Tl=-2*pi*ones(size(Xc));Tu=2*pi*ones(size(Xc));
Ml=0*ones(size(Xc));Mu=ones(size(Xc));
lower_bound=reshape([Xl,Yl,Ll,hl,Tl,Ml]',[],1);
upper_bound=reshape([Xu,Yu,Lu,hu,Tu,Mu]',[],1);
%% 
% *Scale* the *design variable vector* accordingly  $(X\in[0,1])$:

X=(Xg-lower_bound)./(upper_bound-lower_bound);
%% MMA initialization:

loop = 0;
m = 1;
n = length(X(:));
epsimin = 0.0000001;
eeen    = ones(n,1);
eeem    = ones(m,1);
zeron   = zeros(n,1);
zerom   = zeros(m,1);
xval    = X(:);
xold1   = xval;
xold2   = xval;
xmin    = zeron;
xmax    = eeen;
low     = xmin;
upp     = xmax;
C       = 1000*eeem;
d       = 0*eeem;
a0      = 1;
a       = zerom;
outeriter = 0;
maxoutit  = 2000;
kkttol  =0.001;
changetol=0.001;
kktnorm = kkttol+10;
outit = 0;
change=1;
%% 
% choose the allowable *volfrac:*

volfrac=.4;
%% 
% Prepare plots and quantity storage:

cvec=zeros(maxoutit,1);
vvec=cvec;ovvec=cvec;gvec=cvec;pvec=cvec;
plot_rate=10;
%initialize variables for plot
tt=0:0.005:(2*pi);tt=repmat(tt,length(Xc),1);
cc=cos(tt);ss=sin(tt);
%% 
% Initialize the stopping criterion

switch stopping_criteria
    case 'kktnorm'
        stop_cond=outit < maxoutit && kktnorm>kkttol;
    case 'change'
        stop_cond=outit < maxoutit &&change>changetol;
end
%% Start the design loop:

while  stop_cond
    outit   = outit+1;
    outeriter = outeriter+1;
    %Compute the smooth characteristic functions and gradients for each component 
    % on each sampling window Gauss point (Can support GPU)
    [W,dW_dX,dW_dY,dW_dT,dW_dL,dW_dh]=Wgp(ugp(:,1),ugp(:,2),Xg,p);
    %Compute local volume fractions and gradients using generalized projection
    % delta is for densities, deltac for Young modulus
    delta=sum(reshape(W(:,idgp).*repmat(gauss_weight(:)',size(W,1),1),size(W,1),[],Ngp^2),3)...
        ./sum(reshape(repmat(gauss_weight(:)',size(W,1),1),size(W,1),[],Ngp^2),3);
    ddelta_dX=sum(reshape(dW_dX(:,idgp).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)...
        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);
    ddelta_dY=sum(reshape(dW_dY(:,idgp).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)...
        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);
    ddelta_dT=sum(reshape(dW_dT(:,idgp).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)...
        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);
    ddelta_dL=sum(reshape(dW_dL(:,idgp).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)...
        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);
    ddelta_dh=sum(reshape(dW_dh(:,idgp).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)...
        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);
    delta_c=sum(reshape(W(:,idgp).^q.*repmat(gauss_weight(:)',size(W,1),1),size(W,1),[],Ngp^2),3)...
        ./sum(reshape(repmat(gauss_weight(:)',size(W,1),1),size(W,1),[],Ngp^2),3);
    ddelta_c_dX=sum(reshape(q*dW_dX(:,idgp).*W(:,idgp).^(q-1).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)...
        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);
    ddelta_c_dY=sum(reshape(q*dW_dY(:,idgp).*W(:,idgp).^(q-1).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)...
        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);
    ddelta_c_dT=sum(reshape(q*dW_dT(:,idgp).*W(:,idgp).^(q-1).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)...
        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);
    ddelta_c_dL=sum(reshape(q*dW_dL(:,idgp).*W(:,idgp).^(q-1).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)...
        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);
    ddelta_c_dh=sum(reshape(q*dW_dh(:,idgp).*W(:,idgp).^(q-1).*repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3)...
        ./sum(reshape(repmat(gauss_weight(:)',size(dW_dX,1),1),size(dW_dX,1),[],Ngp^2),3);
    % model update 
    % compute young modulus and gradients
    [E,dE,dE_dm]=model_updateM(delta_c,p,X);
    dE_dX=dE.*ddelta_c_dX;
    dE_dY=dE.*ddelta_c_dY;
    dE_dT=dE.*ddelta_c_dT;
    dE_dL=dE.*ddelta_c_dL;
    dE_dh=dE.*ddelta_c_dh;
    E=full(reshape(E(:),nely,nelx));
    %compute densities
    [rho,drho_ddelta,drho_dm]=model_updateV(delta,p,X);
    drho_dX=drho_ddelta.*ddelta_dX;
    drho_dY=drho_ddelta.*ddelta_dY;
    drho_dT=drho_ddelta.*ddelta_dT;
    drho_dL=drho_ddelta.*ddelta_dL;
    drho_dh=drho_ddelta.*ddelta_dh;
    xPhys=full(reshape(rho(:),nely,nelx));
    %Take in account passive elements
    xPhys(emptyelts) = 0;
    xPhys(fullelts) = 1;
    E(emptyelts) = p.Emin;
    E(fullelts) = p.E0;
    % FE-ANALYSIS
    sK = reshape(KE(:)*(E(:)'),64*nelx*nely,1);
    K = sparse(iK,jK,sK); K = (K+K')/2;
    U(freedofs) = K(freedofs,freedofs)\F(freedofs);
    % OBJECTIVE FUNCTION AND SENSITIVITY ANALYSIS
    ce = reshape(sum((U(edofMat)*KE).*U(edofMat),2),nely,nelx);
    c = sum(sum((E).*ce));
    v=mean(xPhys(:));
    dc_dE = -ce;
    dc_dE(emptyelts) = 0;
    dc_dE(fullelts) = 0;
    dc_dX=dE_dX*dc_dE(:);
    dc_dY=dE_dY*dc_dE(:);
    dc_dL=dE_dL*dc_dE(:);
    dc_dh=dE_dh*dc_dE(:);
    dc_dT=dE_dT*dc_dE(:);
    dc_dm=dE_dm*dc_dE(:);
    dc=zeros(size(X));
    dc(1:6:end)=dc_dX;
    dc(2:6:end)=dc_dY;
    dc(3:6:end)=dc_dL;
    dc(4:6:end)=dc_dh;
    dc(5:6:end)=dc_dT;
    dc(6:6:end)=dc_dm;
    dv_dxPhys = ones(nely,nelx)/nelx/nely;
    dv_dxPhys(emptyelts) = 0;
    dv_dxPhys(fullelts) = 0;
    dv_dX=drho_dX*dv_dxPhys(:);
    dv_dY=drho_dY*dv_dxPhys(:);
    dv_dL=drho_dL*dv_dxPhys(:);
    dv_dh=drho_dh*dv_dxPhys(:);
    dv_dT=drho_dT*dv_dxPhys(:);
    dv_dm=drho_dm*dv_dxPhys(:);
    dv=zeros(size(X));
    dv(1:6:end)=dv_dX;
    dv(2:6:end)=dv_dY;
    dv(3:6:end)=dv_dL;
    dv(4:6:end)=dv_dh;
    dv(5:6:end)=dv_dT;
    dv(6:6:end)=dv_dm;
    % store the output for plot
    cvec(outit)=c;vvec(outit)=v;
    %% PRINT RESULTS
    fprintf(' It.:%5i Obj.:%4.3e Vol.:%7.3f kktnorm.:%7.3f ch.:%7.3f\n',outit,c, ...
        mean(xPhys(:)),kktnorm,change);
    % pass scaled objective and constraint function and sensitivities to MMA
    f0val=log(c+1);
    fval=[(v-volfrac)/volfrac]*100;
    df0dx=(dc(:)/(c+1).*(upper_bound(:)-lower_bound(:)));
    dfdx=[dv(:)'/volfrac]*100.*(upper_bound(:)-lower_bound(:))';
    %plot every plot_rate iterations
    if rem(outit,plot_rate)==0
        %convergence plot
        figure(3)
        subplot(2,1,1)
        plot(1:outit,cvec(1:outit),'bo','MarkerFaceColor','b')
        grid on
        hold on
        scatter(outit,c,'k','fill')
        hold off
        text(outit,c,['C =',num2str(c,'%4.2f'),' at iteration ', num2str(outit)],...
            'VerticalAlignment','bottom','HorizontalAlignment','right','FontSize',24,'FontWeight','bold')
         xlabel('iter')
        ylabel('C')
        subplot(2,1,2)
        plot(1:outit,vvec(1:outit)*100,'ro','MarkerFaceColor','r')
        grid on
        hold on
        scatter(outit,mean(xPhys(:))*100,'k','fill')
        hold off
        text(outit,mean(xPhys(:))*100,['V = ',num2str(mean(xPhys(:))*100,'%4.2f'),'% at iteration ', num2str(outit)],...
            'VerticalAlignment','bottom','HorizontalAlignment','right','FontSize',24,'FontWeight','bold')
        xlabel('iter')
        ylabel('V [%]')
        print([Path,image_prefix,'convergence'],'-dpng')
        %% PLOT DENSITIES
        figure(1)
        map=colormap(gray);
        map=map(end:-1:1,:);
        caxis([0 1])
        patchplot2 = patch('Vertices',[Xx,Yy],'Faces',edofMat(:,[2,4,6,8])/2,'FaceVertexCData',(1-xPhys(:))*[1 1 1],...
            'FaceColor','flat','EdgeColor','none'); axis equal; axis off; hold on
        hold on
        fill([min(Xx),max(Xx),max(Xx),min(Xx)],[min(Yy),min(Yy),max(Yy),max(Yy)],'w','FaceAlpha',0.)
        scatter(Xx(fixednodes(fixed_dir==1)),Yy(fixednodes(fixed_dir==1)),'>b','filled')
        scatter(Xx(fixednodes(fixed_dir==2)),Yy(fixednodes(fixed_dir==2)),'^b','filled')
        scal=10;
        quiver(Xx(excitation_node),Yy(excitation_node)+scal*(excitation_direction==2),excitation_direction==1,...
            -(excitation_direction==2), scal,'r','Linewidth',2)
        colormap(map)
        colorbar
        drawnow
        hold off
        axis([min(Xx),max(Xx),min(Yy),max(Yy)])
        print([Path,'density_',num2str(outit-1,'%03d')],'-dpng')
        %% Component Plot
        figure(2)
        Xc=Xg(1:6:end);
        Yc=Xg(2:6:end);
        Lc=Xg(3:6:end);
        hc=Xg(4:6:end);
        Tc=Xg(5:6:end) ;
        Mc=Xg(6:6:end) ;
        C0=repmat(cos(Tc),1,size(cc,2));S0=repmat(sin(Tc),1,size(cc,2));
        xxx=repmat(Xc(:),1,size(cc,2))+cc;
        yyy=repmat(Yc(:),1,size(cc,2))+ss;
        xi=C0.*(xxx-Xc)+S0.*(yyy-Yc);
        Eta=-S0.*(xxx-Xc)+C0.*(yyy-Yc);
        [dd]=norato_bar(xi,Eta,repmat(Lc(:),1,size(cc,2)),repmat(hc(:),1,size(cc,2)));
        xn=repmat(Xc,1,size(cc,2))+dd.*cc;
        yn=repmat(Yc,1,size(cc,2))+dd.*ss;
        tolshow=0.1;
        Shown_compo=find(Mc>tolshow);
        fill([min(Xx),max(Xx),max(Xx),min(Xx)],[min(Yy),min(Yy),max(Yy),max(Yy)],'w','FaceAlpha',0.)
        hold on
        fill(xn(Shown_compo,:)',yn(Shown_compo,:)',Mc(Shown_compo),'FaceAlpha',0.5)
        if strcmp(BC,'L-shape')
            fill([fix((min(Xx)+max(Xx))/2),max(Xx),max(Xx),fix((min(Xx)+max(Xx))/2)],[fix((min(Yy)+max(Yy))/2),...
                fix((min(Yy)+max(Yy))/2),max(Yy),max(Yy)],'w')
        end
        caxis([0,1])
        colormap 'jet'
        axis equal; axis off;
        hold on
        scatter(Xx(fixednodes(fixed_dir==1)),Yy(fixednodes(fixed_dir==1)),'>b','filled')
        scatter(Xx(fixednodes(fixed_dir==2)),Yy(fixednodes(fixed_dir==2)),'^b','filled')
        scal=10;
        quiver(Xx(excitation_node),Yy(excitation_node)+scal*(excitation_direction==2),excitation_direction==1,...
            -(excitation_direction==2),scal,'r','Linewidth',2)
        colorbar
        axis([min(Xx),max(Xx),min(Yy),max(Yy)])
        print([Path,'component_',num2str(outit-1,'%03d')],'-dpng')
        hold off
    end
    %% MMA code optimization
        [X,ymma,zmma,lam,xsi,eta,mu,zet,S,low,upp] = ...
            mmasub(m,n,outeriter,xval,xmin,xmax,xold1,xold2, ...
            f0val,df0dx,fval,dfdx,low,upp,a0,a,C,d);
        xold2 = xold1;
        xold1 = xval;
        xval  = X;
        Xg=lower_bound+(upper_bound-lower_bound).*X;
        change=norm(xval-xold1);
        %% The residual vector of the KKT conditions is calculated:
    [residu,kktnorm,residumax] = ...
        kktcheck(m,n,X,ymma,zmma,lam,xsi,eta,mu,zet,S, ...
        xmin,xmax,df0dx,fval,dfdx,a0,a,C,d);
    % update the stopping criterion
    switch stopping_criteria
        case 'kktnorm'
            stop_cond=outit < maxoutit && kktnorm>kkttol;
        case 'change'
            stop_cond=outit < maxoutit &&change>changetol;
    end
end
% Make the plot of the solution
% convergence plot
figure(3)
subplot(2,1,1)
plot(1:outit,cvec(1:outit),'bo','MarkerFaceColor','b')
grid on
hold on
scatter(outit,c,'k','fill')
hold off
text(outit,c,['C =',num2str(c,'%4.2f'),' at iteration ', num2str(outit)],...
    'VerticalAlignment','bottom','HorizontalAlignment','right','FontSize',24,'FontWeight','bold')
xlabel('iter')
ylabel('C')
subplot(2,1,2)
plot(1:outit,vvec(1:outit)*100,'ro','MarkerFaceColor','r')
grid on
hold on
scatter(outit,mean(xPhys(:))*100,'k','fill')
hold off
text(outit,mean(xPhys(:))*100,['V = ',num2str(mean(xPhys(:))*100,'%4.2f'),'% at iteration ', num2str(outit)],...
    'VerticalAlignment','bottom','HorizontalAlignment','right','FontSize',24,'FontWeight','bold')
xlabel('iter')
ylabel('V [%]')
print([Path,image_prefix,'convergence'],'-dpng')
%% PLOT DENSITIES
figure(1)
map=colormap(gray);
map=map(end:-1:1,:);
caxis([0 1])
patchplot2 = patch('Vertices',[Xx,Yy],'Faces',edofMat(:,[2,4,6,8])/2,'FaceVertexCData',(1-xPhys(:))*[1 1 1],...
    'FaceColor','flat','EdgeColor','none'); axis equal; axis off; hold on
hold on
fill([min(Xx),max(Xx),max(Xx),min(Xx)],[min(Yy),min(Yy),max(Yy),max(Yy)],'w','FaceAlpha',0.)
scatter(Xx(fixednodes(fixed_dir==1)),Yy(fixednodes(fixed_dir==1)),'>b','filled')
scatter(Xx(fixednodes(fixed_dir==2)),Yy(fixednodes(fixed_dir==2)),'^b','filled')
scal=10;
quiver(Xx(excitation_node),Yy(excitation_node)+scal*(excitation_direction==2),excitation_direction==1,...
    -(excitation_direction==2), scal,'r','Linewidth',2)
colormap(map)
colorbar
drawnow
hold off
axis([min(Xx),max(Xx),min(Yy),max(Yy)])
print([Path,'density_',num2str(outit-1,'%03d')],'-dpng')
%% Component Plot
figure(2)
Xc=Xg(1:6:end);
Yc=Xg(2:6:end);
Lc=Xg(3:6:end);
hc=Xg(4:6:end);
Tc=Xg(5:6:end) ;
Mc=Xg(6:6:end) ;
C0=repmat(cos(Tc),1,size(cc,2));S0=repmat(sin(Tc),1,size(cc,2));
xxx=repmat(Xc(:),1,size(cc,2))+cc;
yyy=repmat(Yc(:),1,size(cc,2))+ss;
xi=C0.*(xxx-Xc)+S0.*(yyy-Yc);
Eta=-S0.*(xxx-Xc)+C0.*(yyy-Yc);
[dd]=norato_bar(xi,Eta,repmat(Lc(:),1,size(cc,2)),repmat(hc(:),1,size(cc,2)));
xn=repmat(Xc,1,size(cc,2))+dd.*cc;
yn=repmat(Yc,1,size(cc,2))+dd.*ss;
tolshow=0.1;
Shown_compo=find(Mc>tolshow);
fill([min(Xx),max(Xx),max(Xx),min(Xx)],[min(Yy),min(Yy),max(Yy),max(Yy)],'w','FaceAlpha',0.)
hold on
fill(xn(Shown_compo,:)',yn(Shown_compo,:)',Mc(Shown_compo),'FaceAlpha',0.5)
if strcmp(BC,'L-shape')
    fill([fix((min(Xx)+max(Xx))/2),max(Xx),max(Xx),fix((min(Xx)+max(Xx))/2)],...
        [fix((min(Yy)+max(Yy))/2),fix((min(Yy)+max(Yy))/2),max(Yy),max(Yy)],'w')
end
caxis([0,1])
colormap 'jet'
axis equal; axis off;
hold on
scatter(Xx(fixednodes(fixed_dir==1)),Yy(fixednodes(fixed_dir==1)),'>b','filled')
scatter(Xx(fixednodes(fixed_dir==2)),Yy(fixednodes(fixed_dir==2)),'^b','filled')
scal=10;
quiver(Xx(excitation_node),Yy(excitation_node)+scal*(excitation_direction==2),excitation_direction==1,...
    -(excitation_direction==2),scal,'r','Linewidth',2)
colorbar
axis([min(Xx),max(Xx),min(Yy),max(Yy)])
print([Path,'component_',num2str(outit-1,'%03d')],'-dpng')
hold off
##### SOURCE END #####
--></body></html>